Commit 06278a67 authored by Pieter Noordhuis's avatar Pieter Noordhuis
Browse files

use function to determine length of a single entry

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