}
}
- 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);
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; i<gi->nodes; i++) {
if (gi->n[i].be == glueBack)
}
if (i == 0) {
glueBack = NULL;
- rc = NOID;
+ break;
} else {
glueBack = gi->n[i-1].be;
rc = glue_tool_entry_first (b0);