mirror of
https://github.com/redis/redis.git
synced 2026-05-28 04:02:46 -04:00
dict.c: added macros in dict.h to set signed and unsigned 64 bit values directly inside the hash entry without using additional memory.
This commit is contained in:
parent
c0ba9ebe13
commit
aa9a61ccd7
2 changed files with 7 additions and 1 deletions
|
|
@ -274,7 +274,7 @@ int dictAdd(dict *d, void *key, void *val)
|
|||
* mainly in order to store non-pointers inside the hash value, example:
|
||||
*
|
||||
* entry = dictAddRaw(dict,mykey);
|
||||
* if (entry != NULL) dictSetValSignedInteger(entry,1000);
|
||||
* if (entry != NULL) dictSetSignedIntegerVal(entry,1000);
|
||||
*
|
||||
* Return values:
|
||||
*
|
||||
|
|
|
|||
|
|
@ -105,6 +105,12 @@ typedef struct dictIterator {
|
|||
entry->v.val = (_val_); \
|
||||
} while(0)
|
||||
|
||||
#define dictSetSignedIntegerVal(d, entry, _val_) \
|
||||
do { entry->v.i64 = _val_; } while(0)
|
||||
|
||||
#define dictSetUnsignedIntegerVal(d, entry, _val_) \
|
||||
do { entry->v.u64 = _val_; } while(0)
|
||||
|
||||
#define dictFreeKey(d, entry) \
|
||||
if ((d)->type->keyDestructor) \
|
||||
(d)->type->keyDestructor((d)->privdata, (entry)->key)
|
||||
|
|
|
|||
Loading…
Reference in a new issue