]> git.saurik.com Git - redis.git/blobdiff - src/config.c
Wrapper for adding unknown multi bulk length to reply list
[redis.git] / src / config.c
index e1b743dbf41ace2c6b41a9b10ef1cd65aac0455b..5c449886939117e6e6300492671c7d58d5dfb068 100644 (file)
@@ -332,13 +332,10 @@ badfmt: /* Bad format errors */
 
 void configGetCommand(redisClient *c) {
     robj *o = getDecodedObject(c->argv[2]);
-    robj *lenobj = createObject(REDIS_STRING,NULL);
+    void *replylen = addDeferredMultiBulkLength(c);
     char *pattern = o->ptr;
     int matches = 0;
 
-    addReply(c,lenobj);
-    decrRefCount(lenobj);
-
     if (stringmatch(pattern,"dbfilename",0)) {
         addReplyBulkCString(c,"dbfilename");
         addReplyBulkCString(c,server.dbfilename);
@@ -410,7 +407,7 @@ void configGetCommand(redisClient *c) {
         matches++;
     }
     decrRefCount(o);
-    lenobj->ptr = sdscatprintf(sdsempty(),"*%d\r\n",matches*2);
+    setDeferredMultiBulkLength(c,replylen,matches*2);
 }
 
 void configCommand(redisClient *c) {