summaryrefslogtreecommitdiffstats
path: root/src/util
diff options
context:
space:
mode:
authorTom Yu <tlyu@mit.edu>2002-08-28 06:34:05 +0000
committerTom Yu <tlyu@mit.edu>2002-08-28 06:34:05 +0000
commite4ebca8203e95550a9a084b0255f3eda471718dc (patch)
tree22b7fbb4c6ba1a097395143a3ea1d6d45ed6f462 /src/util
parent375af1e21d44baae4334e992fb56867696164103 (diff)
downloadkrb5-e4ebca8203e95550a9a084b0255f3eda471718dc.tar.gz
krb5-e4ebca8203e95550a9a084b0255f3eda471718dc.tar.xz
krb5-e4ebca8203e95550a9a084b0255f3eda471718dc.zip
* btree/bt_split.c (bt_psplit): Correctly account for
sizeof(indx_t) when computing space used in a page by an item. [patch from www.sleepycat.com] git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@14780 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/util')
-rw-r--r--src/util/db2/ChangeLog6
-rw-r--r--src/util/db2/btree/bt_split.c5
2 files changed, 9 insertions, 2 deletions
diff --git a/src/util/db2/ChangeLog b/src/util/db2/ChangeLog
index dc6eff0a5..9c04afed2 100644
--- a/src/util/db2/ChangeLog
+++ b/src/util/db2/ChangeLog
@@ -1,3 +1,9 @@
+2002-08-28 Tom Yu <tlyu@mit.edu>
+
+ * btree/bt_split.c (bt_psplit): Correctly account for
+ sizeof(indx_t) when computing space used in a page by an item.
+ [patch from www.sleepycat.com]
+
2002-08-23 Ken Raeburn <raeburn@mit.edu>
* Makefile.in, btree/Makefile.in, clib/Makefile.in,
diff --git a/src/util/db2/btree/bt_split.c b/src/util/db2/btree/bt_split.c
index c6319b55f..0cc6cf09b 100644
--- a/src/util/db2/btree/bt_split.c
+++ b/src/util/db2/btree/bt_split.c
@@ -673,7 +673,8 @@ bt_psplit(t, h, l, r, pskip, ilen)
* where we decide to try and copy too much onto the left page.
* Make sure that doesn't happen.
*/
- if ((skip <= off && used + nbytes >= full) || nxt == top - 1) {
+ if ((skip <= off && used + nbytes + sizeof(indx_t) >= full)
+ || nxt == top - 1) {
--off;
break;
}
@@ -686,7 +687,7 @@ bt_psplit(t, h, l, r, pskip, ilen)
memmove((char *)l + l->upper, src, nbytes);
}
- used += nbytes;
+ used += nbytes + sizeof(indx_t);
if (used >= half) {
if (!isbigkey || bigkeycnt == 3)
break;