RESP3: addReplyNull() added.

This commit is contained in:
antirez 2018-11-27 11:58:55 +01:00
parent fc9a3de97d
commit 1b7298e66a
3 changed files with 10 additions and 1 deletions

View File

@ -603,6 +603,14 @@ void addReplyPushLen(client *c, long length) {
addReplyAggregateLen(c,length,prefix); 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 */ /* Create the length prefix of a bulk reply, example: $2234 */
void addReplyBulkLen(client *c, robj *obj) { void addReplyBulkLen(client *c, robj *obj) {
size_t len; size_t len;

View File

@ -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. */ /* Output the representation of a Redis command. Used by the COMMAND command. */
void addReplyCommand(client *c, struct redisCommand *cmd) { void addReplyCommand(client *c, struct redisCommand *cmd) {
if (!cmd) { if (!cmd) {
addReply(c, shared.nullbulk); addReplyNull(c);
} else { } else {
/* We are adding: command name, arg count, flags, first, last, offset */ /* We are adding: command name, arg count, flags, first, last, offset */
addReplyArrayLen(c, 6); addReplyArrayLen(c, 6);

View File

@ -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 acceptTcpHandler(aeEventLoop *el, int fd, void *privdata, int mask);
void acceptUnixHandler(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 readQueryFromClient(aeEventLoop *el, int fd, void *privdata, int mask);
void addReplyNull(client *c);
void addReplyString(client *c, const char *s, size_t len); void addReplyString(client *c, const char *s, size_t len);
void addReplyBulk(client *c, robj *obj); void addReplyBulk(client *c, robj *obj);
void addReplyBulkCString(client *c, const char *s); void addReplyBulkCString(client *c, const char *s);