X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=servers%2Fslapd%2Fbackend.c;h=cac82703390e3f06f4984a4f7fcc2fcc621e95ea;hb=af423fd393488947252da5fd6cd927edfd1bf110;hp=b59e4c1d5890e805bc0897202c511e875fd54230;hpb=a71f328831a79488d311c639b98bc67200a7f826;p=openldap diff --git a/servers/slapd/backend.c b/servers/slapd/backend.c index b59e4c1d58..cac8270339 100644 --- a/servers/slapd/backend.c +++ b/servers/slapd/backend.c @@ -11,6 +11,7 @@ #include #include "slap.h" +#include "lutil.h" #ifdef SLAPD_LDBM #include "back-ldbm/external.h" @@ -352,7 +353,7 @@ be_db_close( void ) int i; for ( i = 0; i < nbackends; i++ ) { - if ( backends[i].bd_info->bi_db_close != NULL ) { + if ( backends[i].bd_info->bi_db_close ) { (*backends[i].bd_info->bi_db_close)( &backends[i] ); } } @@ -452,8 +453,6 @@ be_isroot( Backend *be, char *ndn ) char * be_root_dn( Backend *be ) { - int rc; - if ( be->be_root_dn == NULL ) { return( "" ); } @@ -483,6 +482,19 @@ be_isroot_pw( Backend *be, char *ndn, struct berval *cred ) return result == 0; } +int +be_entry_release_rw( Backend *be, Entry *e, int rw ) +{ + if ( be->be_release ) { + /* free and release entry from backend */ + return be->be_release( be, e, rw ); + } else { + /* free entry */ + entry_free( e ); + return 0; + } +} + int backend_unbind( Connection *conn, @@ -492,7 +504,7 @@ backend_unbind( int i; for ( i = 0; i < nbackends; i++ ) { - if ( backends[i].be_unbind != NULL ) { + if ( backends[i].be_unbind ) { (*backends[i].be_unbind)( &backends[i], conn, op ); } }