From 8ec0832157587a1d19ee0b6514c6b33d258fd51b Mon Sep 17 00:00:00 2001 From: antirez Date: Sat, 27 Feb 2010 18:13:55 +0100 Subject: [PATCH] first zipmap fix of a long sequence in the days to come ;) --- zipmap.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/zipmap.c b/zipmap.c index ba5ea0e3..d5cfa162 100644 --- a/zipmap.c +++ b/zipmap.c @@ -192,14 +192,14 @@ static unsigned long zipmapRequiredLength(unsigned int klen, unsigned int vlen) return l; } -/* Return the total amonut used by a key (encoded length + payload) */ +/* Return the total amount used by a key (encoded length + payload) */ static unsigned int zipmapRawKeyLength(unsigned char *p) { unsigned int l = zipmapDecodeLength(p); return zipmapEncodeLength(NULL,l) + l; } -/* Return the total amonut used by a value +/* Return the total amount used by a value * (encoded length + single byte free count + payload) */ static unsigned int zipmapRawValueLength(unsigned char *p) { unsigned int l = zipmapDecodeLength(p); @@ -303,7 +303,7 @@ void zipmapRepr(unsigned char *p) { p += zipmapEncodeLength(NULL,l); e = *p++; fwrite(p,l,1,stdout); - p += l; + p += l+e; if (e) { printf("["); while(e--) printf("."); @@ -320,6 +320,7 @@ int main(void) { zm = zipmapNew(); zm = zipmapSet(zm,(unsigned char*) "hello",5, (unsigned char*) "world!",6); zm = zipmapSet(zm,(unsigned char*) "foo",3, (unsigned char*) "bar",3); + zm = zipmapSet(zm,(unsigned char*) "foo",3, (unsigned char*) "!",1); zipmapRepr(zm); return 0; } -- 2.47.2