summaryrefslogtreecommitdiffstats
path: root/generic/tclHash.c
diff options
context:
space:
mode:
authorjan.nijtmans <nijtmans@users.sourceforge.net>2022-05-17 16:27:19 (GMT)
committerjan.nijtmans <nijtmans@users.sourceforge.net>2022-05-17 16:27:19 (GMT)
commit59f20f23bdf80b9aa0106269a64e16715a0deb2c (patch)
tree1c09e78560216f9c0d9d708bca172ef4dd93cc6b /generic/tclHash.c
parentc0d3b18e36ba15b38e066951ddf5adaf995be0d0 (diff)
parent292c03d1c289ed9aae8eac6aba53c1857e4bf90d (diff)
downloadtcl-59f20f23bdf80b9aa0106269a64e16715a0deb2c.zip
tcl-59f20f23bdf80b9aa0106269a64e16715a0deb2c.tar.gz
tcl-59f20f23bdf80b9aa0106269a64e16715a0deb2c.tar.bz2
Merge 9.0
Diffstat (limited to 'generic/tclHash.c')
-rw-r--r--generic/tclHash.c18
1 files changed, 8 insertions, 10 deletions
diff --git a/generic/tclHash.c b/generic/tclHash.c
index 802b627..3ca269c 100644
--- a/generic/tclHash.c
+++ b/generic/tclHash.c
@@ -247,7 +247,7 @@ CreateHashEntry(
{
Tcl_HashEntry *hPtr;
const Tcl_HashKeyType *typePtr;
- size_t hash, index;
+ TCL_HASH_TYPE hash, index;
if (tablePtr->keyType == TCL_STRING_KEYS) {
typePtr = &tclStringHashKeyType;
@@ -268,7 +268,7 @@ CreateHashEntry(
index = hash & tablePtr->mask;
}
} else {
- hash = (size_t) key;
+ hash = PTR2UINT(key);
index = RANDOM_INDEX(tablePtr, hash);
}
@@ -369,7 +369,7 @@ Tcl_DeleteHashEntry(
const Tcl_HashKeyType *typePtr;
Tcl_HashTable *tablePtr;
Tcl_HashEntry **bucketPtr;
- size_t index;
+ TCL_HASH_TYPE index;
tablePtr = entryPtr->tablePtr;
@@ -587,7 +587,8 @@ Tcl_HashStats(
Tcl_HashTable *tablePtr) /* Table for which to produce stats. */
{
#define NUM_COUNTERS 10
- size_t count[NUM_COUNTERS], overflow, i, j;
+ size_t i;
+ TCL_HASH_TYPE count[NUM_COUNTERS], overflow, j;
double average, tmp;
Tcl_HashEntry *hPtr;
char *result, *p;
@@ -661,12 +662,9 @@ AllocArrayEntry(
int *array = (int *) keyPtr;
int *iPtr1, *iPtr2;
Tcl_HashEntry *hPtr;
- int count;
- size_t size;
-
- count = tablePtr->keyType;
+ int count = tablePtr->keyType;
+ TCL_HASH_TYPE size = sizeof(Tcl_HashEntry) + (count*sizeof(int)) - sizeof(hPtr->key);
- size = sizeof(Tcl_HashEntry) + (count*sizeof(int)) - sizeof(hPtr->key);
if (size < sizeof(Tcl_HashEntry)) {
size = sizeof(Tcl_HashEntry);
}
@@ -955,7 +953,7 @@ static void
RebuildTable(
Tcl_HashTable *tablePtr) /* Table to enlarge. */
{
- size_t count, index, oldSize = tablePtr->numBuckets;
+ TCL_HASH_TYPE count, index, oldSize = tablePtr->numBuckets;
Tcl_HashEntry **oldBuckets = tablePtr->buckets;
Tcl_HashEntry **oldChainPtr, **newChainPtr;
Tcl_HashEntry *hPtr;