Commit aa9a61cc authored by antirez's avatar antirez
Browse files

dict.c: added macros in dict.h to set signed and unsigned 64 bit values...

dict.c: added macros in dict.h to set signed and unsigned 64 bit values directly inside the hash entry without using additional memory.
parent c0ba9ebe
......@@ -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)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment