From 2ad6e875ba0db0a1d2f78df2b7e651010137b576 Mon Sep 17 00:00:00 2001 From: antirez Date: Fri, 30 Nov 2018 16:32:06 +0100 Subject: [PATCH] RESP3: add shared.nullarray for better RESP2 compat. --- src/server.c | 7 ++++++- src/server.h | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/server.c b/src/server.c index a736a1e5..79df0282 100644 --- a/src/server.c +++ b/src/server.c @@ -1471,9 +1471,14 @@ void createSharedObjects(void) { /* The shared NULL depends on the protocol version. */ shared.null[0] = NULL; shared.null[1] = NULL; - shared.null[2] = createObject(OBJ_STRING,sdsnew("*-1\r\n")); + shared.null[2] = createObject(OBJ_STRING,sdsnew("$-1\r\n")); shared.null[3] = createObject(OBJ_STRING,sdsnew("_\r\n")); + shared.nullarray[0] = NULL; + shared.nullarray[1] = NULL; + shared.nullarray[2] = createObject(OBJ_STRING,sdsnew("*-1\r\n")); + shared.nullarray[3] = createObject(OBJ_STRING,sdsnew("_\r\n")); + for (j = 0; j < PROTO_SHARED_SELECT_CMDS; j++) { char dictid_str[64]; int dictid_len; diff --git a/src/server.h b/src/server.h index d4558df5..c12dca59 100644 --- a/src/server.h +++ b/src/server.h @@ -782,7 +782,7 @@ struct moduleLoadQueueEntry { struct sharedObjectsStruct { robj *crlf, *ok, *err, *emptybulk, *czero, *cone, *pong, *space, - *colon, *queued, *null[4], + *colon, *queued, *null[4], nullarray[4], *emptyarray, *wrongtypeerr, *nokeyerr, *syntaxerr, *sameobjecterr, *outofrangeerr, *noscripterr, *loadingerr, *slowscripterr, *bgsaveerr, *masterdownerr, *roslaveerr, *execaborterr, *noautherr, *noreplicaserr,