summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorantirez <antirez@gmail.com>2018-11-27 11:58:55 +0100
committerantirez <antirez@gmail.com>2018-12-21 11:42:51 +0100
commit8bbcd4128a8132b22fbb6086504dab9d738c3067 (patch)
treecb3bdd1a9964da917c4bdc2f0c0cf5e89730c883
parent499e3e84b98cc8b66206d687b56f93465e2fa278 (diff)
downloadredis-8bbcd4128a8132b22fbb6086504dab9d738c3067.tar.gz
RESP3: addReplyNull() added.
-rw-r--r--src/networking.c8
-rw-r--r--src/server.c2
-rw-r--r--src/server.h1
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);