return err;
}
+ /* If objectClass was modified, reset the flags */
+ if ( mod->sm_desc == slap_schema.si_ad_objectClass ) {
+ e->e_ocflags = 0;
+ }
+
/* check if modified attribute was indexed */
err = bdb_index_is_indexed( be, mod->sm_desc );
if ( err == LDAP_SUCCESS ) {
char *dn
)
{
- int rc = attr_delete( &e->e_attrs, mod->sm_desc );
-
- if( rc != LDAP_SUCCESS && rc != LDAP_NO_SUCH_ATTRIBUTE ) {
- return rc;
- }
- rc = LDAP_SUCCESS;
+ (void) attr_delete( &e->e_attrs, mod->sm_desc );
if ( mod->sm_bvalues ) {
- rc = add_values( e, mod, dn );
+ return add_values( e, mod, dn );
}
return LDAP_SUCCESS;