]> git.sur5r.net Git - openldap/commitdiff
Further fix f8ce8a82717ddefdc912fa47c07f1bdee2a3336b
authorHoward Chu <hyc@openldap.org>
Sat, 14 Jan 2017 19:22:34 +0000 (19:22 +0000)
committerHoward Chu <hyc@openldap.org>
Sat, 14 Jan 2017 19:23:22 +0000 (19:23 +0000)
Fully revert the change to GET_MULTIPLE

libraries/liblmdb/mdb.c

index 2c3438346183c66c67b4ae863d854a4c0fbab371..3f43e94b66452e4f84923aeb6a566a71159a4863 100644 (file)
@@ -6346,16 +6346,9 @@ mdb_cursor_get(MDB_cursor *mc, MDB_val *key, MDB_val *data,
                        break;
                }
                rc = MDB_SUCCESS;
-               if (!(mc->mc_xcursor->mx_cursor.mc_flags & C_INITIALIZED))
+               if (!(mc->mc_xcursor->mx_cursor.mc_flags & C_INITIALIZED) ||
+                       (mc->mc_xcursor->mx_cursor.mc_flags & C_EOF))
                        break;
-               if (mc->mc_xcursor->mx_cursor.mc_flags & C_EOF) {
-                       MDB_cursor *mx = &mc->mc_xcursor->mx_cursor;
-                       if (mx->mc_ki[mx->mc_top] >= NUMKEYS(mx->mc_pg[mx->mc_top])-1) {
-                               rc = MDB_NOTFOUND;
-                               break;
-                       }
-                       mx->mc_flags ^= C_EOF;
-               }
                goto fetchm;
        case MDB_NEXT_MULTIPLE:
                if (data == NULL) {