From aa9a61ccd7cc1ffa1441ef74edd9d51954fc7896 Mon Sep 17 00:00:00 2001
From: antirez <antirez@gmail.com>
Date: Tue, 8 Nov 2011 19:41:29 +0100
Subject: [PATCH] dict.c: added macros in dict.h to set signed and unsigned 64
 bit values directly inside the hash entry without using additional memory.

---
 src/dict.c | 2 +-
 src/dict.h | 6 ++++++
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/src/dict.c b/src/dict.c
index 11962f7c..a573bcd6 100644
--- a/src/dict.c
+++ b/src/dict.c
@@ -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:
  *
diff --git a/src/dict.h b/src/dict.h
index af485e2c..b907a91f 100644
--- a/src/dict.h
+++ b/src/dict.h
@@ -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)
-- 
2.47.2