Missed a MDB_RESERVE case
vmware
Howard Chu 13 years ago
parent 28b8aaeb96
commit 163514e470
  1. 5
      libraries/libmdb/mdb.c

@ -4062,7 +4062,10 @@ current:
/* same size, just replace it */ /* same size, just replace it */
if (!F_ISSET(leaf->mn_flags, F_BIGDATA) && if (!F_ISSET(leaf->mn_flags, F_BIGDATA) &&
NODEDSZ(leaf) == data->mv_size) { NODEDSZ(leaf) == data->mv_size) {
memcpy(NODEDATA(leaf), data->mv_data, data->mv_size); if (F_ISSET(flags, MDB_RESERVE))
data->mv_data = NODEDATA(leaf);
else
memcpy(NODEDATA(leaf), data->mv_data, data->mv_size);
goto done; goto done;
} }
mdb_node_del(mc->mc_pg[mc->mc_top], mc->mc_ki[mc->mc_top], 0); mdb_node_del(mc->mc_pg[mc->mc_top], mc->mc_ki[mc->mc_top], 0);

Loading…
Cancel
Save