summaryrefslogtreecommitdiff
path: root/src/include/cell.i
diff options
context:
space:
mode:
authorMichael Cahill <michael.cahill@wiredtiger.com>2011-08-18 15:57:21 +1000
committerMichael Cahill <michael.cahill@wiredtiger.com>2011-08-18 15:57:21 +1000
commit4ccac2af26c375aee30a6e4c0af1a0785639076b (patch)
treea6f090fac08828f451eaba0daa19c3bec749c13a /src/include/cell.i
parent574d7b43cfa39b7af07ea1736e5a3ab3d46a2e41 (diff)
downloadmongo-4ccac2af26c375aee30a6e4c0af1a0785639076b.tar.gz
Use size_t for size calculations, only store uint32_t in structs.
* * * [mq]: fixes
Diffstat (limited to 'src/include/cell.i')
-rw-r--r--src/include/cell.i6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/include/cell.i b/src/include/cell.i
index 4faf5a28c87..b8eebd6005e 100644
--- a/src/include/cell.i
+++ b/src/include/cell.i
@@ -327,7 +327,7 @@ __wt_cell_unpack_safe(WT_CELL *cell, WT_CELL_UNPACK *unpack, uint8_t *end)
CHK(p, sizeof(WT_OFF)); /* check WT_OFF */
unpack->ovfl = 1;
memcpy(&unpack->off, p, sizeof(WT_OFF));
- unpack->len = WT_PTRDIFF32(p, cell) + WT_SIZEOF32(WT_OFF);
+ unpack->len = WT_PTRDIFF32(p + sizeof(WT_OFF), cell);
break;
case WT_CELL_DEL:
unpack->len = WT_PTRDIFF32(p, cell);
@@ -337,8 +337,8 @@ __wt_cell_unpack_safe(WT_CELL *cell, WT_CELL_UNPACK *unpack, uint8_t *end)
WT_RET(__wt_vunpack_uint(
&p, end == NULL ? 0 : (size_t)(end - p), &v));
unpack->data = p;
- unpack->size = (uint32_t)v;
- unpack->len = WT_PTRDIFF32(p, cell) + (uint32_t)v;
+ unpack->size = WT_STORE_SIZE(v);
+ unpack->len = WT_PTRDIFF32(p + unpack->size, cell);
break;
default:
return (WT_ERROR); /* Unknown cell type. */