From d3277ecd92352db11e9f4ce4c45a63c3a225fc29 Mon Sep 17 00:00:00 2001
From: antirez <antirez@gmail.com>
Date: Tue, 20 Apr 2010 11:01:36 +0200
Subject: [PATCH] More precise memory used guesswork in zmalloc.c

---
 zmalloc.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/zmalloc.c b/zmalloc.c
index b1e96fc3..8658376a 100644
--- a/zmalloc.c
+++ b/zmalloc.c
@@ -40,7 +40,9 @@
 #define PREFIX_SIZE sizeof(size_t)
 #endif
 
-#define increment_used_memory(_n) do { \
+#define increment_used_memory(__n) do { \
+    size_t _n = (__n); \
+    if (_n&(sizeof(long)-1)) _n += sizeof(long)-(_n&(sizeof(long)-1)); \
     if (zmalloc_thread_safe) { \
         pthread_mutex_lock(&used_memory_mutex);  \
         used_memory += _n; \
@@ -50,7 +52,9 @@
     } \
 } while(0)
 
-#define decrement_used_memory(_n) do { \
+#define decrement_used_memory(__n) do { \
+    size_t _n = (__n); \
+    if (_n&(sizeof(long)-1)) _n += sizeof(long)-(_n&(sizeof(long)-1)); \
     if (zmalloc_thread_safe) { \
         pthread_mutex_lock(&used_memory_mutex);  \
         used_memory -= _n; \