]> git.sur5r.net Git - openldap/commitdiff
Tweak ITS#8722 fix: Use XCURSOR_REFRESH()
authorHallvard Furuseth <hallvard@openldap.org>
Sun, 10 Sep 2017 22:00:14 +0000 (00:00 +0200)
committerHallvard Furuseth <hallvard@openldap.org>
Sun, 10 Sep 2017 22:00:14 +0000 (00:00 +0200)
This checks XCURSOR_INITED() and fixes the mn_flags check.

libraries/liblmdb/mdb.c

index 1ad3aa2e7236957fbcd8aa8b7d3bfeed372e9c73..50086e291ca4467b20f6a4ae6f973db960171eac 100644 (file)
@@ -7929,13 +7929,7 @@ mdb_cursor_del(MDB_cursor *mc, unsigned int flags)
                                                if (m2 == mc || m2->mc_snum < mc->mc_snum) continue;
                                                if (!(m2->mc_flags & C_INITIALIZED)) continue;
                                                if (m2->mc_pg[mc->mc_top] == mp) {
-                                                       MDB_node *n2 = leaf;
-                                                       if (m2->mc_ki[mc->mc_top] >= NUMKEYS(mp)) continue;
-                                                       if (m2->mc_ki[mc->mc_top] != mc->mc_ki[mc->mc_top]) {
-                                                               n2 = NODEPTR(mp, m2->mc_ki[mc->mc_top]);
-                                                               if (n2->mn_flags & F_SUBDATA) continue;
-                                                       }
-                                                       m2->mc_xcursor->mx_cursor.mc_pg[0] = NODEDATA(n2);
+                                                       XCURSOR_REFRESH(m2, mc->mc_top, mp);
                                                }
                                        }
                                }