From 1b7298e66ae002b9011c22d8270436506a9dc9b1 Mon Sep 17 00:00:00 2001 From: antirez Date: Tue, 27 Nov 2018 11:58:55 +0100 Subject: [PATCH] RESP3: addReplyNull() added. --- src/networking.c | 8 ++++++++ src/server.c | 2 +- src/server.h | 1 + 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/networking.c b/src/networking.c index 6f077be7..bb51619f 100644 --- a/src/networking.c +++ b/src/networking.c @@ -603,6 +603,14 @@ void addReplyPushLen(client *c, long length) { addReplyAggregateLen(c,length,prefix); } +void addReplyNull(client *c) { + if (c->resp == 2) { + addReplyString(c,"$-1\r\n",5); + } else { + addReplyString(c,"_\r\n",3); + } +} + /* Create the length prefix of a bulk reply, example: $2234 */ void addReplyBulkLen(client *c, robj *obj) { size_t len; diff --git a/src/server.c b/src/server.c index 7d84d39f..5b6a9c4a 100644 --- a/src/server.c +++ b/src/server.c @@ -2954,7 +2954,7 @@ int addReplyCommandFlag(client *c, struct redisCommand *cmd, int f, char *reply) /* Output the representation of a Redis command. Used by the COMMAND command. */ void addReplyCommand(client *c, struct redisCommand *cmd) { if (!cmd) { - addReply(c, shared.nullbulk); + addReplyNull(c); } else { /* We are adding: command name, arg count, flags, first, last, offset */ addReplyArrayLen(c, 6); diff --git a/src/server.h b/src/server.h index 456d11ca..a483e1a6 100644 --- a/src/server.h +++ b/src/server.h @@ -1437,6 +1437,7 @@ void acceptHandler(aeEventLoop *el, int fd, void *privdata, int mask); void acceptTcpHandler(aeEventLoop *el, int fd, void *privdata, int mask); void acceptUnixHandler(aeEventLoop *el, int fd, void *privdata, int mask); void readQueryFromClient(aeEventLoop *el, int fd, void *privdata, int mask); +void addReplyNull(client *c); void addReplyString(client *c, const char *s, size_t len); void addReplyBulk(client *c, robj *obj); void addReplyBulkCString(client *c, const char *s);