Tweak MDB_PREV_MULTIPLE for uninit'd cursor

rawpart
Howard Chu 9 years ago
parent d909ab2f36
commit 3f62b727cc
  1. 8
      libraries/liblmdb/mdb.c

@ -1573,7 +1573,7 @@ mdb_strerror(int err)
* and the actual use of the message uses more than 4K of stack. * and the actual use of the message uses more than 4K of stack.
*/ */
#define MSGSIZE 1024 #define MSGSIZE 1024
#define PADSIZE 4096 #define PADSIZE 4096
char buf[MSGSIZE+PADSIZE], *ptr = buf; char buf[MSGSIZE+PADSIZE], *ptr = buf;
#endif #endif
int i; int i;
@ -7007,8 +7007,10 @@ fetchm:
break; break;
} }
if (!(mc->mc_flags & C_INITIALIZED)) if (!(mc->mc_flags & C_INITIALIZED))
rc = mdb_cursor_first(mc, key, data); rc = mdb_cursor_last(mc, key, data);
else { else
rc = MDB_SUCCESS;
if (rc == MDB_SUCCESS) {
MDB_cursor *mx = &mc->mc_xcursor->mx_cursor; MDB_cursor *mx = &mc->mc_xcursor->mx_cursor;
if (mx->mc_flags & C_INITIALIZED) { if (mx->mc_flags & C_INITIALIZED) {
rc = mdb_cursor_sibling(mx, 0); rc = mdb_cursor_sibling(mx, 0);

Loading…
Cancel
Save