X-Git-Url: https://git.saurik.com/redis.git/blobdiff_plain/aa9a61ccd7cc1ffa1441ef74edd9d51954fc7896..31fe053a62eab0133b18537764cf2246709414f1:/src/dict.h diff --git a/src/dict.h b/src/dict.h index b907a91f..5f856953 100644 --- a/src/dict.h +++ b/src/dict.h @@ -49,7 +49,7 @@ typedef struct dictEntry { union { void *val; uint64_t u64; - int64_t i64; + int64_t s64; } v; struct dictEntry *next; } dictEntry; @@ -105,10 +105,10 @@ typedef struct dictIterator { entry->v.val = (_val_); \ } while(0) -#define dictSetSignedIntegerVal(d, entry, _val_) \ - do { entry->v.i64 = _val_; } while(0) +#define dictSetSignedIntegerVal(entry, _val_) \ + do { entry->v.s64 = _val_; } while(0) -#define dictSetUnsignedIntegerVal(d, entry, _val_) \ +#define dictSetUnsignedIntegerVal(entry, _val_) \ do { entry->v.u64 = _val_; } while(0) #define dictFreeKey(d, entry) \ @@ -130,6 +130,8 @@ typedef struct dictIterator { #define dictHashKey(d, key) (d)->type->hashFunction(key) #define dictGetKey(he) ((he)->key) #define dictGetVal(he) ((he)->v.val) +#define dictGetSignedIntegerVal(he) ((he)->v.s64) +#define dictGetUnsignedIntegerVal(he) ((he)->v.u64) #define dictSlots(d) ((d)->ht[0].size+(d)->ht[1].size) #define dictSize(d) ((d)->ht[0].used+(d)->ht[1].used) #define dictIsRehashing(ht) ((ht)->rehashidx != -1) @@ -160,6 +162,8 @@ void dictEnableResize(void); void dictDisableResize(void); int dictRehash(dict *d, int n); int dictRehashMilliseconds(dict *d, int ms); +void dictSetHashFunctionSeed(unsigned int initval); +unsigned int dictGetHashFunctionSeed(void); /* Hash table types */ extern dictType dictTypeHeapStringCopyKey;