From: Howard Chu Date: Sat, 17 Jan 2004 17:50:57 +0000 (+0000) Subject: Import ITS#2924 fix from HEAD X-Git-Tag: OPENLDAP_REL_ENG_2_1_26~9 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c641b1a14edd48f2e1a08f3d4a0023e37f9d9fe0;p=thirdparty%2Fopenldap.git Import ITS#2924 fix from HEAD --- diff --git a/servers/slapd/backglue.c b/servers/slapd/backglue.c index a07374ba28..63fe87d0b1 100644 --- a/servers/slapd/backglue.c +++ b/servers/slapd/backglue.c @@ -488,7 +488,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); @@ -509,7 +510,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) @@ -517,7 +518,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);