Fix CURSOR_NEXT/PREV on emptied DB

vmware
Howard Chu 12 years ago
parent bcb67dd22f
commit c2cac4588a
  1. 8
      libraries/liblmdb/mdb.c

@ -4935,9 +4935,11 @@ fetchm:
case MDB_NEXT:
case MDB_NEXT_DUP:
case MDB_NEXT_NODUP:
if (!(mc->mc_flags & C_INITIALIZED))
if (!(mc->mc_flags & C_INITIALIZED)) {
rc = mdb_cursor_first(mc, key, data);
else
if (rc)
break;
} else
rc = mdb_cursor_next(mc, key, data, op);
break;
case MDB_PREV:
@ -4945,6 +4947,8 @@ fetchm:
case MDB_PREV_NODUP:
if (!(mc->mc_flags & C_INITIALIZED)) {
rc = mdb_cursor_last(mc, key, data);
if (rc)
break;
mc->mc_flags |= C_INITIALIZED;
mc->mc_ki[mc->mc_top]++;
}

Loading…
Cancel
Save