mirror of
https://git.openldap.org/openldap/openldap.git
synced 2026-01-04 06:01:23 -05:00
more attribute values mucking
This commit is contained in:
parent
e1e0370e8c
commit
f63ec3f497
2 changed files with 11 additions and 0 deletions
|
|
@ -835,6 +835,7 @@ monitor_subsys_database_modify(
|
|||
|
||||
BER_BVZERO( &a->a_vals[ k - 1 ] );
|
||||
BER_BVZERO( &a->a_nvals[ k - 1 ] );
|
||||
a->a_numvals--;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -860,9 +861,16 @@ monitor_subsys_database_modify(
|
|||
|
||||
BER_BVZERO( &a->a_vals[ k - 1 ] );
|
||||
BER_BVZERO( &a->a_nvals[ k - 1 ] );
|
||||
a->a_numvals--;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if ( a->a_vals == NULL ) {
|
||||
assert( a->a_numvals == 0 );
|
||||
|
||||
attr_delete( &e->e_attrs, mi->mi_ad_restrictedOperation );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -395,6 +395,7 @@ delete_values( Operation *op, Entry *e, Modification *mod, int *newlevel )
|
|||
a->a_vals[ k - 1 ] = a->a_vals[ k ];
|
||||
}
|
||||
BER_BVZERO( &a->a_vals[ k - 1 ] );
|
||||
a->a_numvals--;
|
||||
|
||||
break;
|
||||
}
|
||||
|
|
@ -409,6 +410,8 @@ delete_values( Operation *op, Entry *e, Modification *mod, int *newlevel )
|
|||
|
||||
/* if no values remain, delete the entire attribute */
|
||||
if ( BER_BVISNULL( &a->a_vals[ 0 ] ) ) {
|
||||
assert( a->a_numvals == 0 );
|
||||
|
||||
/* should already be zero */
|
||||
*newlevel = 0;
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue