]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/back-ldbm/init.c
Add an LDBM backend "directory" directive (in addition to
[openldap] / servers / slapd / back-ldbm / init.c
index 10727040839af5feb483bbb5b60eb240d3482071..0d339543d467ebf1b1c17ea688e0313039a97594 100644 (file)
@@ -43,7 +43,7 @@ ldbm_back_initialize(
        bi->bi_controls = controls;
 
        bi->bi_open = ldbm_back_open;
-       bi->bi_config = 0;
+       bi->bi_config = ldbm_back_config;
        bi->bi_close = ldbm_back_close;
        bi->bi_destroy = ldbm_back_destroy;
 
@@ -85,6 +85,14 @@ ldbm_back_initialize(
        bi->bi_connection_init = 0;
        bi->bi_connection_destroy = 0;
 
+       {
+               struct ldbm_backend_info *lbi = malloc(
+                       sizeof( struct ldbm_backend_info ) );
+
+               bi->bi_private = lbi;
+               lbi->lbi_directory = NULL;
+       }
+
        return 0;
 }
 
@@ -103,8 +111,11 @@ ldbm_back_open(
 {
        int rc;
 
+       struct ldbm_backend_info *lbi
+               = (struct ldbm_backend_info *) bi->bi_private;
+
        /* initialize the underlying database system */
-       rc = ldbm_initialize( NULL );
+       rc = ldbm_initialize( lbi->lbi_directory );
        return rc;
 }