mirror of
https://github.com/fluencelabs/redis
synced 2025-03-19 17:10:50 +00:00
first zipmap fix of a long sequence in the days to come ;)
This commit is contained in:
parent
eb46f4bd7b
commit
8ec0832157
7
zipmap.c
7
zipmap.c
@ -192,14 +192,14 @@ static unsigned long zipmapRequiredLength(unsigned int klen, unsigned int vlen)
|
|||||||
return l;
|
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) {
|
static unsigned int zipmapRawKeyLength(unsigned char *p) {
|
||||||
unsigned int l = zipmapDecodeLength(p);
|
unsigned int l = zipmapDecodeLength(p);
|
||||||
|
|
||||||
return zipmapEncodeLength(NULL,l) + l;
|
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) */
|
* (encoded length + single byte free count + payload) */
|
||||||
static unsigned int zipmapRawValueLength(unsigned char *p) {
|
static unsigned int zipmapRawValueLength(unsigned char *p) {
|
||||||
unsigned int l = zipmapDecodeLength(p);
|
unsigned int l = zipmapDecodeLength(p);
|
||||||
@ -303,7 +303,7 @@ void zipmapRepr(unsigned char *p) {
|
|||||||
p += zipmapEncodeLength(NULL,l);
|
p += zipmapEncodeLength(NULL,l);
|
||||||
e = *p++;
|
e = *p++;
|
||||||
fwrite(p,l,1,stdout);
|
fwrite(p,l,1,stdout);
|
||||||
p += l;
|
p += l+e;
|
||||||
if (e) {
|
if (e) {
|
||||||
printf("[");
|
printf("[");
|
||||||
while(e--) printf(".");
|
while(e--) printf(".");
|
||||||
@ -320,6 +320,7 @@ int main(void) {
|
|||||||
zm = zipmapNew();
|
zm = zipmapNew();
|
||||||
zm = zipmapSet(zm,(unsigned char*) "hello",5, (unsigned char*) "world!",6);
|
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*) "bar",3);
|
||||||
|
zm = zipmapSet(zm,(unsigned char*) "foo",3, (unsigned char*) "!",1);
|
||||||
zipmapRepr(zm);
|
zipmapRepr(zm);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user