diff --git a/src/debug.c b/src/debug.c index 9e084f9d..0529e5a8 100644 --- a/src/debug.c +++ b/src/debug.c @@ -393,13 +393,13 @@ void debugCommand(client *c) { val = dictGetVal(de); strenc = strEncoding(val->encoding); - char extra[128] = {0}; + char extra[138] = {0}; if (val->encoding == OBJ_ENCODING_QUICKLIST) { char *nextra = extra; int remaining = sizeof(extra); quicklist *ql = val->ptr; /* Add number of quicklist nodes */ - int used = snprintf(nextra, remaining, " ql_nodes:%u", ql->len); + int used = snprintf(nextra, remaining, " ql_nodes:%lu", ql->len); nextra += used; remaining -= used; /* Add average quicklist fill factor */ diff --git a/src/quicklist.h b/src/quicklist.h index 7ca23d6e..955a22cf 100644 --- a/src/quicklist.h +++ b/src/quicklist.h @@ -64,7 +64,7 @@ typedef struct quicklistLZF { char compressed[]; } quicklistLZF; -/* quicklist is a 32 byte struct (on 64-bit systems) describing a quicklist. +/* quicklist is a 40 byte struct (on 64-bit systems) describing a quicklist. * 'count' is the number of total entries. * 'len' is the number of quicklist nodes. * 'compress' is: -1 if compression disabled, otherwise it's the number @@ -74,7 +74,7 @@ typedef struct quicklist { quicklistNode *head; quicklistNode *tail; unsigned long count; /* total count of all entries in all ziplists */ - unsigned int len; /* number of quicklistNodes */ + unsigned long len; /* number of quicklistNodes */ int fill : 16; /* fill factor for individual nodes */ unsigned int compress : 16; /* depth of end nodes not to compress;0=off */ } quicklist;