diff options
author | zhaozhao.zz <zhaozhao.zz@alibaba-inc.com> | 2017-11-30 11:29:05 +0800 |
---|---|---|
committer | antirez <antirez@gmail.com> | 2017-12-05 15:37:59 +0100 |
commit | d1176b582c8f482e46821527114c5c1476bc66d4 (patch) | |
tree | b28f9e64782122209918293648073292f1da3a2a /src/dict.c | |
parent | e4903ce586c191fe4699913a5e360e12812024a3 (diff) | |
download | redis-d1176b582c8f482e46821527114c5c1476bc66d4.tar.gz |
dict: fix the int problem
Diffstat (limited to 'src/dict.c')
-rw-r--r-- | src/dict.c | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/src/dict.c b/src/dict.c index 210d50dcd..49bbc92b2 100644 --- a/src/dict.c +++ b/src/dict.c @@ -66,7 +66,7 @@ static unsigned int dict_force_resize_ratio = 5; static int _dictExpandIfNeeded(dict *ht); static unsigned long _dictNextPower(unsigned long size); -static int _dictKeyIndex(dict *ht, const void *key, unsigned int hash, dictEntry **existing); +static long _dictKeyIndex(dict *ht, const void *key, uint64_t hash, dictEntry **existing); static int _dictInit(dict *ht, dictType *type, void *privDataPtr); /* -------------------------- hash functions -------------------------------- */ @@ -202,7 +202,7 @@ int dictRehash(dict *d, int n) { de = d->ht[0].table[d->rehashidx]; /* Move all the keys in this bucket from the old to the new hash HT */ while(de) { - unsigned int h; + uint64_t h; nextde = de->next; /* Get the index in the new hash table */ @@ -291,7 +291,7 @@ int dictAdd(dict *d, void *key, void *val) */ dictEntry *dictAddRaw(dict *d, void *key, dictEntry **existing) { - int index; + long index; dictEntry *entry; dictht *ht; @@ -362,7 +362,7 @@ dictEntry *dictAddOrFind(dict *d, void *key) { * dictDelete() and dictUnlink(), please check the top comment * of those functions. */ static dictEntry *dictGenericDelete(dict *d, const void *key, int nofree) { - unsigned int h, idx; + uint64_t h, idx; dictEntry *he, *prevHe; int table; @@ -476,7 +476,7 @@ void dictRelease(dict *d) dictEntry *dictFind(dict *d, const void *key) { dictEntry *he; - unsigned int h, idx, table; + uint64_t h, idx, table; if (d->ht[0].used + d->ht[1].used == 0) return NULL; /* dict is empty */ if (dictIsRehashing(d)) _dictRehashStep(d); @@ -610,7 +610,7 @@ void dictReleaseIterator(dictIterator *iter) dictEntry *dictGetRandomKey(dict *d) { dictEntry *he, *orighe; - unsigned int h; + unsigned long h; int listlen, listele; if (dictSize(d) == 0) return NULL; @@ -955,9 +955,9 @@ static unsigned long _dictNextPower(unsigned long size) * * Note that if we are in the process of rehashing the hash table, the * index is always returned in the context of the second (new) hash table. */ -static int _dictKeyIndex(dict *d, const void *key, unsigned int hash, dictEntry **existing) +static long _dictKeyIndex(dict *d, const void *key, uint64_t hash, dictEntry **existing) { - unsigned int idx, table; + unsigned long idx, table; dictEntry *he; if (existing) *existing = NULL; @@ -1006,7 +1006,7 @@ unsigned int dictGetHash(dict *d, const void *key) { * return value is the reference to the dictEntry if found, or NULL if not found. */ dictEntry **dictFindEntryRefByPtrAndHash(dict *d, const void *oldptr, unsigned int hash) { dictEntry *he, **heref; - unsigned int idx, table; + unsigned long idx, table; if (d->ht[0].used + d->ht[1].used == 0) return NULL; /* dict is empty */ for (table = 0; table <= 1; table++) { |