Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
Joe Martin
OpenLDAP
Commits
e31983c7
Commit
e31983c7
authored
Oct 31, 2013
by
Howard Chu
Browse files
ITS#7736 fix regression in ITS#7733 patch
In
d8eccb35
parent
d8eccb35
Changes
1
Hide whitespace changes
Inline
Side-by-side
libraries/liblmdb/mdb.c
View file @
e31983c7
...
...
@@ -6079,8 +6079,7 @@ mdb_cursor_del(MDB_cursor *mc, unsigned int flags)
if
(
!
(
mc
->
mc_flags
&
C_INITIALIZED
))
return
EINVAL
;
mp
=
mc
->
mc_pg
[
mc
->
mc_top
];
if
(
mc
->
mc_ki
[
mc
->
mc_top
]
>=
NUMKEYS
(
mp
))
if
(
mc
->
mc_ki
[
mc
->
mc_top
]
>=
NUMKEYS
(
mc
->
mc_pg
[
mc
->
mc_top
]))
return
MDB_NOTFOUND
;
if
(
!
(
flags
&
MDB_NOSPILL
)
&&
(
rc
=
mdb_page_spill
(
mc
,
NULL
,
NULL
)))
...
...
@@ -6090,6 +6089,7 @@ mdb_cursor_del(MDB_cursor *mc, unsigned int flags)
if
(
rc
)
return
rc
;
mp
=
mc
->
mc_pg
[
mc
->
mc_top
];
leaf
=
NODEPTR
(
mp
,
mc
->
mc_ki
[
mc
->
mc_top
]);
if
(
!
IS_LEAF2
(
mp
)
&&
F_ISSET
(
leaf
->
mn_flags
,
F_DUPDATA
))
{
...
...
@@ -6107,13 +6107,13 @@ mdb_cursor_del(MDB_cursor *mc, unsigned int flags)
}
else
{
MDB_cursor
*
m2
;
/* shrink fake page */
mdb_node_shrink
(
m
c
->
mc_pg
[
mc
->
mc_top
]
,
mc
->
mc_ki
[
mc
->
mc_top
]);
leaf
=
NODEPTR
(
m
c
->
mc_pg
[
mc
->
mc_top
]
,
mc
->
mc_ki
[
mc
->
mc_top
]);
mdb_node_shrink
(
m
p
,
mc
->
mc_ki
[
mc
->
mc_top
]);
leaf
=
NODEPTR
(
m
p
,
mc
->
mc_ki
[
mc
->
mc_top
]);
mc
->
mc_xcursor
->
mx_cursor
.
mc_pg
[
0
]
=
NODEDATA
(
leaf
);
/* fix other sub-DB cursors pointed at this fake page */
for
(
m2
=
mc
->
mc_txn
->
mt_cursors
[
mc
->
mc_dbi
];
m2
;
m2
=
m2
->
mc_next
)
{
if
(
m2
==
mc
||
m2
->
mc_snum
<
mc
->
mc_snum
)
continue
;
if
(
m2
->
mc_pg
[
mc
->
mc_top
]
==
m
c
->
mc_pg
[
mc
->
mc_top
]
&&
if
(
m2
->
mc_pg
[
mc
->
mc_top
]
==
m
p
&&
m2
->
mc_ki
[
mc
->
mc_top
]
==
mc
->
mc_ki
[
mc
->
mc_top
])
m2
->
mc_xcursor
->
mx_cursor
.
mc_pg
[
0
]
=
NODEDATA
(
leaf
);
}
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment