bdb_attr_mask( be->be_private, at->sat_ad, &mask );
- if ( mask && ( mask ^ SLAP_INDEX_NOSUBTYPES ) ) {
+ if ( mask & SLAP_INDEX_AUTO_SUBTYPES ) {
*atname = desc->ad_type->sat_cname;
*dbname = at->sat_cname.bv_val;
return mask;
}
+
+ if ( mask && ( mask ^ SLAP_INDEX_NOSUBTYPES ) ) {
+ *atname = at->sat_cname;
+ *dbname = at->sat_cname.bv_val;
+ return mask;
+ }
}
return 0;
if( mask ) {
*dbnamep = type->sat_cname.bv_val;
- } else if ( tmpmask ^ SLAP_INDEX_NOSUBTYPES ) {
+ } else if ( tmpmask & SLAP_INDEX_AUTO_SUBTYPES ) {
mask = tmpmask;
+ *maskp = mask;
}
if( mask ) {
mask );
if( rc ) return rc;
- *maskp = mask;
}
if( lang->bv_len ) {
attr_mask( be->be_private, at->sat_ad, &mask );
- if( mask && ( mask ^ SLAP_INDEX_NOSUBTYPES ) ) {
+ if( mask & SLAP_INDEX_AUTO_SUBTYPES ) {
*atname = desc->ad_type->sat_cname;
*dbname = at->sat_cname.bv_val;
return mask;
}
+
+ if( mask && ( mask ^ SLAP_INDEX_NOSUBTYPES ) ) {
+ *atname = at->sat_cname;
+ *dbname = at->sat_cname.bv_val;
+ return mask;
+ }
}
return 0;
if( mask ) {
*dbnamep = type->sat_cname.bv_val;
- } else if ( tmpmask ^ SLAP_INDEX_NOSUBTYPES ) {
+ } else if ( tmpmask & SLAP_INDEX_AUTO_SUBTYPES ) {
mask = tmpmask;
+ *maskp = mask;
}
if( mask ) {
&type->sat_cname,
vals, id, op,
mask );
- *maskp = mask;
}
if( lang->bv_len ) {