]> git.sur5r.net Git - openldap/commitdiff
Fix for slapcat
authorHoward Chu <hyc@openldap.org>
Sat, 8 Dec 2001 16:42:27 +0000 (16:42 +0000)
committerHoward Chu <hyc@openldap.org>
Sat, 8 Dec 2001 16:42:27 +0000 (16:42 +0000)
servers/slapd/backglue.c

index 2651283154cff6b9ebe81c0418deeb44c4a23e5e..05f7c2633cbb637507579fbdee6455b1d13f1798 100644 (file)
@@ -524,6 +524,29 @@ glue_back_delete (
        return rc;
 }
 
+int
+glue_back_release_rw (
+       BackendDB *b0,
+       Connection *conn,
+       Operation *op,
+       Entry *e,
+       int rw
+)
+{
+       BackendDB *be;
+       int rc;
+
+       be = glue_back_select (b0, e->e_ndn);
+
+       if (be && be->be_release) {
+               rc = be->be_release (be, conn, op, e, rw);
+       } else {
+               entry_free (e);
+               rc = 0;
+       }
+       return rc;
+}
+
 int
 glue_back_group (
        BackendDB *b0,
@@ -676,6 +699,7 @@ glue_tool_entry_next (
        if (rc == NOID) {
                gi[i].be->be_entry_close (gi[i].be);
                i--;
+               glueBack = i;
                if (i < 0)
                        rc = NOID;
                else
@@ -791,6 +815,7 @@ glue_back_initialize (
 
        bi->bi_extended = 0;
 
+       bi->bi_entry_release_rw = glue_back_release_rw;
        bi->bi_acl_group = glue_back_group;
        bi->bi_acl_attribute = glue_back_attribute;
        bi->bi_chk_referrals = glue_back_referrals;