From: Howard Chu Date: Fri, 16 Jan 2004 19:07:03 +0000 (+0000) Subject: ITS#2924, fix transition to subsequent subordinates X-Git-Tag: OPENLDAP_REL_ENG_2_1_MP~24 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=f77474f1df824bfb61227c50c31c8cb5e24e3834;p=openldap ITS#2924, fix transition to subsequent subordinates --- diff --git a/servers/slapd/backglue.c b/servers/slapd/backglue.c index bd0a4338f2..c9c29a1860 100644 --- a/servers/slapd/backglue.c +++ b/servers/slapd/backglue.c @@ -441,7 +441,8 @@ glue_tool_entry_first ( } } - if (!glueBack || glueBack->be_entry_open (glueBack, glueMode) != 0) + if (!glueBack || !glueBack->be_entry_open || !glueBack->be_entry_first || + glueBack->be_entry_open (glueBack, glueMode) != 0) return NOID; return glueBack->be_entry_first (glueBack); @@ -462,7 +463,7 @@ glue_tool_entry_next ( rc = glueBack->be_entry_next (glueBack); /* If we ran out of entries in one database, move on to the next */ - if (rc == NOID) { + while (rc == NOID) { glueBack->be_entry_close (glueBack); for (i=0; inodes; i++) { if (gi->n[i].be == glueBack) @@ -470,7 +471,7 @@ glue_tool_entry_next ( } if (i == 0) { glueBack = NULL; - rc = NOID; + break; } else { glueBack = gi->n[i-1].be; rc = glue_tool_entry_first (b0);