static struct berval
bv_true = BER_BVC( "(?=true)" ),
bv_false = BER_BVC( "(?=false)" ),
+ bv_undefined = BER_BVC( "(?=undefined)" ),
bv_t = BER_BVC( "(&)" ),
bv_f = BER_BVC( "(|)" ),
bv_T = BER_BVC( "(objectClass=*)" ),
newbv = &bv_F;
}
+ } else if ( strncmp( ptr, bv_undefined.bv_val, bv_undefined.bv_len ) == 0 )
+ {
+ oldbv = &bv_undefined;
+ newbv = &bv_F;
+
} else {
gotit = 0;
goto done;
}
oldfilter = *filter;
- if ( !( li->flags & LDAP_BACK_F_SUPPORT_T_F ) ) {
+ if ( newbv->bv_len > oldbv->bv_len ) {
filter->bv_len += newbv->bv_len - oldbv->bv_len;
if ( filter->bv_val == op->ors_filterstr.bv_val ) {
filter->bv_val = op->o_tmpalloc( filter->bv_len + 1,
vtmp,
tmp;
static struct berval
-#if 0
- ber_bvfalse = BER_BVC( "(?=false)" ),
-#endif
/* better than nothing... */
ber_bvfalse = BER_BVC( "(!(objectClass=*))" ),
ber_bvtf_false = BER_BVC( "(|)" ),
-#if 0
- ber_bvtrue = BER_BVC( "(?=true)" ),
-#endif
/* better than nothing... */
ber_bvtrue = BER_BVC( "(objectClass=*)" ),
ber_bvtf_true = BER_BVC( "(&)" ),
case LDAP_COMPARE_FALSE:
if ( dc->rwmap->rwm_flags & RWM_F_SUPPORT_T_F ) {
tmp = ber_bvtf_false;
- } else {
- tmp = ber_bvfalse;
+ break;
}
+ /* fallthru */
+
+ case SLAPD_COMPARE_UNDEFINED:
+ tmp = ber_bvfalse;
break;
case LDAP_COMPARE_TRUE:
}
break;
- case SLAPD_COMPARE_UNDEFINED:
- tmp = ber_bvundefined;
- break;
-
default:
tmp = ber_bverror;
break;