summaryrefslogtreecommitdiffstats
path: root/generic/tclHAMT.c
diff options
context:
space:
mode:
authordgp <dgp@users.sourceforge.net>2017-09-25 01:29:38 (GMT)
committerdgp <dgp@users.sourceforge.net>2017-09-25 01:29:38 (GMT)
commitb5c8b99082ac640bdec6d83f6249389a58d68e9a (patch)
tree71f0dad5d68742e897fd9f6e9991535b5bd5527c /generic/tclHAMT.c
parent7ac84009baa390a6da473a8366377c652a48d1cd (diff)
downloadtcl-b5c8b99082ac640bdec6d83f6249389a58d68e9a.zip
tcl-b5c8b99082ac640bdec6d83f6249389a58d68e9a.tar.gz
tcl-b5c8b99082ac640bdec6d83f6249389a58d68e9a.tar.bz2
Add [hamt remove] command and fix more bugs.
Diffstat (limited to 'generic/tclHAMT.c')
-rw-r--r--generic/tclHAMT.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/generic/tclHAMT.c b/generic/tclHAMT.c
index 27b5176..2bed26d 100644
--- a/generic/tclHAMT.c
+++ b/generic/tclHAMT.c
@@ -494,7 +494,7 @@ ArrayMap AMNewBranch(
assert ( idx1 != idx2 );
new->claim = 0;
- new->mask = (1 << (depth * branchShift)) - 1;
+ new->mask = ((size_t)1 << (depth * branchShift)) - 1;
new->id = hash & new->mask;
assert ( (sub->id & new->mask) == new->id );
@@ -556,7 +556,7 @@ ArrayMap AMNewLeaf(
assert ( idx1 != idx2 );
new->claim = 0;
- new->mask = (1 << (depth * branchShift)) - 1;
+ new->mask = ((size_t)1 << (depth * branchShift)) - 1;
new->id = hash1 & new->mask;
assert ( (hash2 & new->mask) == new->id );