Inline protocol improved to accept quoted strings.

This commit is contained in:
antirez
2013-07-24 10:37:55 +02:00
parent 57c8e026b9
commit a1d37ba469

View File

@ -829,7 +829,7 @@ void resetClient(redisClient *c) {
int processInlineBuffer(redisClient *c) { int processInlineBuffer(redisClient *c) {
char *newline = strstr(c->querybuf,"\r\n"); char *newline = strstr(c->querybuf,"\r\n");
int argc, j; int argc, j;
sds *argv; sds *argv, aux;
size_t querylen; size_t querylen;
/* Nothing to do without a \r\n */ /* Nothing to do without a \r\n */
@ -843,7 +843,9 @@ int processInlineBuffer(redisClient *c) {
/* Split the input buffer up to the \r\n */ /* Split the input buffer up to the \r\n */
querylen = newline-(c->querybuf); 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 */ /* Leave data after the first line of the query in the buffer */
c->querybuf = sdsrange(c->querybuf,querylen+2,-1); c->querybuf = sdsrange(c->querybuf,querylen+2,-1);