]> git.saurik.com Git - redis.git/commitdiff
use function to determine length of a single entry
authorPieter Noordhuis <pcnoordhuis@gmail.com>
Thu, 1 Apr 2010 10:58:08 +0000 (12:58 +0200)
committerPieter Noordhuis <pcnoordhuis@gmail.com>
Thu, 1 Apr 2010 10:58:08 +0000 (12:58 +0200)
zipmap.c

index 7d28c202b1800f11034c4460173c6f3377de9004..8a07b388ed5aabb6af3cd83a4bc175d1a6bf6f7b 100644 (file)
--- a/zipmap.c
+++ b/zipmap.c
@@ -201,7 +201,6 @@ static unsigned int zipmapRawValueLength(unsigned char *p) {
  * free space if any). */
 static unsigned int zipmapRawEntryLength(unsigned char *p) {
     unsigned int l = zipmapRawKeyLength(p);
-
     return l + zipmapRawValueLength(p+l);
 }
 
@@ -232,14 +231,10 @@ unsigned char *zipmapSet(unsigned char *zm, unsigned char *key, unsigned int kle
         /* Increase zipmap length (this is an insert) */
         if (zm[0] < ZIPMAP_BIGLEN) zm[0]++;
     } else {
-        unsigned char *b = p;
-
         /* Key found. Is there enough space for the new value? */
         /* Compute the total length: */
         if (update) *update = 1;
-        freelen = zipmapRawKeyLength(b);
-        b += freelen;
-        freelen += zipmapRawValueLength(b);
+        freelen = zipmapRawEntryLength(p);
         if (freelen < reqlen) {
             /* Move remaining entries to the current position, so this
              * pair can be appended. Note: the +1 in memmove is caused