X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=servers%2Fslapd%2Fback-ldbm%2Fid2children.c;h=69a5d7c58978bda4b3a2f67763c40546ac12a2e7;hb=573e279d8769b0b74cdf63c21653f261cb741f25;hp=cd0cc7a6dfe58d86adf4117c97189e8e5dd75a85;hpb=3952bc8e95a2b21aced14f890028f12d00e191fa;p=openldap diff --git a/servers/slapd/back-ldbm/id2children.c b/servers/slapd/back-ldbm/id2children.c index cd0cc7a6df..69a5d7c589 100644 --- a/servers/slapd/back-ldbm/id2children.c +++ b/servers/slapd/back-ldbm/id2children.c @@ -20,14 +20,10 @@ id2children_add( struct dbcache *db; Datum key; int len, rc; - IDList *idl; + ID_BLOCK *idl; char buf[20]; -#ifdef HAVE_BERKELEY_DB2 - Datum data; - memset( &key, 0, sizeof( key ) ); - memset( &data, 0, sizeof( data ) ); -#endif + ldbm_datum_init( key ); Debug( LDAP_DEBUG_TRACE, "=> id2children_add( %lu, %lu )\n", p ? p->e_id : 0, e->e_id, 0 ); @@ -68,7 +64,7 @@ id2children_remove( struct dbcache *db; Datum key; int len, rc; - IDList *idl; + ID_BLOCK *idl; char buf[20]; Debug( LDAP_DEBUG_TRACE, "=> id2children_remove( %lu, %lu )\n", p ? p->e_id @@ -77,18 +73,18 @@ id2children_remove( if ( (db = ldbm_cache_open( be, "id2children", LDBM_SUFFIX, LDBM_WRCREAT )) == NULL ) { Debug( LDAP_DEBUG_ANY, - "<= id2children_add -1 could not open \"id2children%s\"\n", + "<= id2children_remove -1 could not open \"id2children%s\"\n", LDBM_SUFFIX, 0, 0 ); return( -1 ); } - memset( &key, 0, sizeof(key) ); + ldbm_datum_init( key ); sprintf( buf, "%c%ld", EQ_PREFIX, p ? p->e_id : 0 ); key.dptr = buf; key.dsize = strlen( buf ) + 1; if ( idl_delete_key( be, db, key, e->e_id ) != 0 ) { - Debug( LDAP_DEBUG_TRACE, "<= id2children_add -1 (idl_insert)\n", + Debug( LDAP_DEBUG_TRACE, "<= id2children_remove -1 (idl_delete)\n", 0, 0, 0 ); ldbm_cache_close( be, db ); return( -1 ); @@ -96,7 +92,7 @@ id2children_remove( ldbm_cache_close( be, db ); - Debug( LDAP_DEBUG_TRACE, "<= id2children_add 0\n", 0, 0, 0 ); + Debug( LDAP_DEBUG_TRACE, "<= id2children_remove 0\n", 0, 0, 0 ); return( 0 ); } @@ -108,13 +104,11 @@ has_children( { struct dbcache *db; Datum key; - int rc; - IDList *idl; + int rc = 0; + ID_BLOCK *idl; char buf[20]; -#ifdef HAVE_BERKELEY_DB2 - memset( &key, 0, sizeof( key ) ); -#endif + ldbm_datum_init( key ); Debug( LDAP_DEBUG_TRACE, "=> has_children( %lu )\n", p->e_id , 0, 0 ); @@ -133,9 +127,13 @@ has_children( idl = idl_fetch( be, db, key ); ldbm_cache_close( be, db ); - rc = idl ? 1 : 0; - idl_free( idl ); - Debug( LDAP_DEBUG_TRACE, "<= has_children %d\n", rc, 0, 0 ); + if( idl != NULL ) { + idl_free( idl ); + rc = 1; + } + + Debug( LDAP_DEBUG_TRACE, "<= has_children( %lu ): %s\n", + p->e_id, rc ? "yes" : "no", 0 ); return( rc ); }