mirror of
https://git.openldap.org/openldap/openldap.git
synced 2025-12-26 17:49:59 -05:00
parent
e35deef110
commit
3d5601e0ba
1 changed files with 12 additions and 7 deletions
|
|
@ -277,14 +277,19 @@ do_del:
|
|||
err = mdb_mval_del( op, mvc, e->e_id, anew );
|
||||
if (err)
|
||||
break;
|
||||
anew = attr_find( e->e_attrs, mod->sm_desc );
|
||||
if (mod->sm_numvals >= mdb->mi_multi_lo) {
|
||||
anew->a_flags |= SLAP_ATTR_BIG_MULTI;
|
||||
err = mdb_mval_put(op, mvc, e->e_id, anew);
|
||||
} else if (anew) {
|
||||
/* revert back to normal attr */
|
||||
anew->a_flags &= ~SLAP_ATTR_BIG_MULTI;
|
||||
}
|
||||
anew = attr_find( e->e_attrs, mod->sm_desc );
|
||||
if (mod->sm_numvals >= mdb->mi_multi_lo) {
|
||||
anew->a_flags |= SLAP_ATTR_BIG_MULTI;
|
||||
if (!mvc) {
|
||||
err = mdb_cursor_open( tid, mdb->mi_dbis[MDB_ID2VAL], &mvc );
|
||||
if (err)
|
||||
break;
|
||||
}
|
||||
err = mdb_mval_put(op, mvc, e->e_id, anew);
|
||||
} else if (anew) {
|
||||
/* revert back to normal attr */
|
||||
anew->a_flags &= ~SLAP_ATTR_BIG_MULTI;
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
|
|
|||
Loading…
Reference in a new issue