]> git.sur5r.net Git - openldap/commitdiff
Tweak NODUPDATA flag check
authorHoward Chu <hyc@symas.com>
Mon, 12 Aug 2013 00:25:00 +0000 (17:25 -0700)
committerHoward Chu <hyc@symas.com>
Mon, 12 Aug 2013 00:25:00 +0000 (17:25 -0700)
Should allow for the possibility of future flag combos.

libraries/liblmdb/mdb.c

index c1f0d030a0fc159a3b7845f87758256d8a48ba5e..ceda38510b32b780700981985270a522bd979431 100644 (file)
@@ -5655,7 +5655,7 @@ more:
 #endif
                                /* if data matches, skip it */
                                if (!mc->mc_dbx->md_dcmp(data, &dkey)) {
-                                       if (flags == MDB_NODUPDATA)
+                                       if (flags & MDB_NODUPDATA)
                                                rc = MDB_KEYEXIST;
                                        else if (flags & MDB_MULTIPLE)
                                                goto next_mult;
@@ -5987,7 +5987,7 @@ mdb_cursor_del(MDB_cursor *mc, unsigned int flags)
        leaf = NODEPTR(mc->mc_pg[mc->mc_top], mc->mc_ki[mc->mc_top]);
 
        if (!IS_LEAF2(mc->mc_pg[mc->mc_top]) && F_ISSET(leaf->mn_flags, F_DUPDATA)) {
-               if (flags != MDB_NODUPDATA) {
+               if (!(flags & MDB_NODUPDATA)) {
                        if (!F_ISSET(leaf->mn_flags, F_SUBDATA)) {
                                mc->mc_xcursor->mx_cursor.mc_pg[0] = NODEDATA(leaf);
                        }