diff options
author | antirez <antirez@gmail.com> | 2018-11-27 11:58:55 +0100 |
---|---|---|
committer | antirez <antirez@gmail.com> | 2018-12-21 11:42:51 +0100 |
commit | 8bbcd4128a8132b22fbb6086504dab9d738c3067 (patch) | |
tree | cb3bdd1a9964da917c4bdc2f0c0cf5e89730c883 | |
parent | 499e3e84b98cc8b66206d687b56f93465e2fa278 (diff) | |
download | redis-8bbcd4128a8132b22fbb6086504dab9d738c3067.tar.gz |
RESP3: addReplyNull() added.
-rw-r--r-- | src/networking.c | 8 | ||||
-rw-r--r-- | src/server.c | 2 | ||||
-rw-r--r-- | src/server.h | 1 |
3 files changed, 10 insertions, 1 deletions
diff --git a/src/networking.c b/src/networking.c index 6f077be7a..bb51619f4 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 7d84d39f8..5b6a9c4a8 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 456d11caa..a483e1a61 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); |