if ( idmin > idmax ) {
a[0] = 0;
return 0;
- } else if ( idmin == idmax ) {
+ } else if ( idmin == idmax &&
+ (( MDB_IDL_FIRST(a) == MDB_IDL_LAST(b)) ||
+ ( MDB_IDL_FIRST(b) == MDB_IDL_LAST(a)))) {
a[0] = 1;
a[1] = idmin;
return 0;
return 0;
}
- /* Our entries are allocated in two blocks; the data comes from
+ /* Our entries are allocated in two blocks; the data comes from
* the db itself and the Entry structure and associated pointers
* are allocated in entry_decode. The db data pointer is saved
* in e_bv.
}
entry_free( e );
+ return 0;
}
int wt_entry_release(
} else {
ID i;
- Debug( LDAP_DEBUG_ANY, "IDL: size %ld", (long) ids[0] );
+ Debug( LDAP_DEBUG_ANY, "IDL: size %ld\n", (long) ids[0] );
for( i=1; i<=ids[0]; i++ ) {
- if( i % 16 == 1 ) {
- Debug( LDAP_DEBUG_ANY, "\n" );
- }
- Debug( LDAP_DEBUG_ANY, " %02lx", (long) ids[i] );
+ Debug( LDAP_DEBUG_ANY, " %ld\n", (long) ids[i] );
}
Debug( LDAP_DEBUG_ANY, "\n" );
if ( idmin > idmax ) {
a[0] = 0;
return 0;
- } else if ( idmin == idmax ) {
+ } else if ( idmin == idmax &&
+ (( WT_IDL_FIRST(a) == WT_IDL_LAST(b)) ||
+ ( WT_IDL_FIRST(b) == WT_IDL_LAST(a)))) {
a[0] = 1;
a[1] = idmin;
return 0;
if ( id == base->e_id ) scopeok = 1;
break;
case LDAP_SCOPE_ONELEVEL:
- scopeok = 1;
+ scopeok = dnIsSuffixScope(&e->e_nname, &base->e_nname, LDAP_SCOPE_ONELEVEL);
break;
case LDAP_SCOPE_CHILDREN:
if ( id == base->e_id ) break;