for ( p = i = 0; !BER_BVISNULL( &mod->sm_values[i] ); i++ ) {
int match;
- assert( a->a_vals[0].bv_val );
+ assert( a->a_vals[0].bv_val != NULL );
for ( j = 0; !BER_BVISNULL( &a->a_vals[j] ); j++ ) {
if ( mod->sm_nvalues ) {
rc = ordered_value_match( &match, mod->sm_desc, mr,
}
if( mod->sm_nvalues ) {
- assert( a->a_nvals );
+ assert( a->a_nvals != NULL );
rc = ordered_value_match( &match, a->a_desc, mr,
SLAP_MR_EQUALITY | SLAP_MR_VALUE_OF_ASSERTION_SYNTAX
| SLAP_MR_ASSERTED_VALUE_NORMALIZED_MATCH
rc = LDAP_NO_SUCH_ATTRIBUTE;
}
} else if ( a->a_desc->ad_type->sat_flags & SLAP_AT_ORDERED_VAL ) {
- /* For an ordered attribute, renumber the value indices */
+ /* For an ordered attribute, renumber the value indices */
ordered_value_sort( a, 1 );
}
void
slap_mods_free(
- Modifications *ml )
+ Modifications *ml,
+ int freevals )
{
Modifications *next;
for ( ; ml != NULL; ml = next ) {
next = ml->sml_next;
- slap_mod_free( &ml->sml_mod, 0 );
+ if ( freevals )
+ slap_mod_free( &ml->sml_mod, 0 );
free( ml );
}
}