Fix bdb_tool_dn2id_get() - nobody should be calling bdb_dn2id() directly,

always call through the cache instead - bdb_cache_find_ndn().
This commit is contained in:
Howard Chu 2005-07-19 02:12:34 +00:00
parent c09550766b
commit c8bffb5584

View file

@ -140,7 +140,8 @@ ID bdb_tool_dn2id_get(
{
Operation op = {0};
Opheader ohdr = {0};
EntryInfo ei = {0};
EntryInfo *ei = NULL;
int rc;
if ( BER_BVISEMPTY(dn) )
return 0;
@ -150,11 +151,12 @@ ID bdb_tool_dn2id_get(
op.o_tmpmemctx = NULL;
op.o_tmpmfuncs = &ch_mfuncs;
ei.bei_id = NOID;
bdb_dn2id( &op, NULL, dn, &ei );
rc = bdb_cache_find_ndn( &op, NULL, dn, &ei );
if ( ei ) bdb_cache_entryinfo_unlock( ei );
if ( rc == DB_NOTFOUND )
return NOID;
return ei.bei_id;
return ei->bei_id;
}
int bdb_tool_id2entry_get(
@ -327,8 +329,8 @@ ID bdb_tool_entry_put(
assert( be != NULL );
assert( slapMode & SLAP_TOOL_MODE );
assert( text != NULL );
assert( text->bv_val != NULL );
assert( text );
assert( text->bv_val );
assert( text->bv_val[0] == '\0' ); /* overconservative? */
Debug( LDAP_DEBUG_TRACE, "=> " LDAP_XSTRING(bdb_tool_entry_put)
@ -524,8 +526,8 @@ ID bdb_tool_entry_modify(
assert( be != NULL );
assert( slapMode & SLAP_TOOL_MODE );
assert( text != NULL );
assert( text->bv_val != NULL );
assert( text );
assert( text->bv_val );
assert( text->bv_val[0] == '\0' ); /* overconservative? */
assert ( e->e_id != NOID );