From 809e3a44a7b53f26ba6bfe49012a88a5203fae3e Mon Sep 17 00:00:00 2001
From: antirez <antirez@gmail.com>
Date: Tue, 4 Dec 2018 18:00:35 +0100
Subject: [PATCH] RESP3: addReplyBool() implemented.

---
 src/networking.c | 8 ++++++++
 src/server.h     | 1 +
 2 files changed, 9 insertions(+)

diff --git a/src/networking.c b/src/networking.c
index 5e442e28..789ea822 100644
--- a/src/networking.c
+++ b/src/networking.c
@@ -611,6 +611,14 @@ void addReplyNull(client *c) {
     }
 }
 
+void addReplyBool(client *c, int b) {
+    if (c->resp == 3) {
+        addReply(c, b ? shared.cone : shared.czero);
+    } else {
+        addReplyString(c, b ? "#t\r\n" : "#f\r\n",4);
+    }
+}
+
 /* A null array is a concept that no longer exists in RESP3. However
  * RESP2 had it, so API-wise we have this call, that will emit the correct
  * RESP2 protocol, however for RESP3 the reply will always be just the
diff --git a/src/server.h b/src/server.h
index 6a398dc3..0362c03a 100644
--- a/src/server.h
+++ b/src/server.h
@@ -1439,6 +1439,7 @@ 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 addReplyNullArray(client *c);
+void addReplyBool(client *c, int b);
 void addReplyString(client *c, const char *s, size_t len);
 void addReplyBulk(client *c, robj *obj);
 void addReplyBulkCString(client *c, const char *s);