From 75b760a72d916a91d86f5cf9531d95e0f524ec40 Mon Sep 17 00:00:00 2001 From: antirez Date: Wed, 24 Jul 2013 10:37:55 +0200 Subject: [PATCH] Inline protocol improved to accept quoted strings. --- src/networking.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/networking.c b/src/networking.c index 54dfc025..f7cfeb09 100644 --- a/src/networking.c +++ b/src/networking.c @@ -847,7 +847,7 @@ void resetClient(redisClient *c) { int processInlineBuffer(redisClient *c) { char *newline = strstr(c->querybuf,"\r\n"); int argc, j; - sds *argv; + sds *argv, aux; size_t querylen; /* Nothing to do without a \r\n */ @@ -861,7 +861,9 @@ int processInlineBuffer(redisClient *c) { /* Split the input buffer up to the \r\n */ querylen = newline-(c->querybuf); - argv = sdssplitlen(c->querybuf,querylen," ",1,&argc); + aux = sdsnewlen(c->querybuf,querylen); + argv = sdssplitargs(aux,&argc); + sdsfree(aux); /* Leave data after the first line of the query in the buffer */ c->querybuf = sdsrange(c->querybuf,querylen+2,-1);