summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--hiredis.c9
-rw-r--r--hiredis.h1
2 files changed, 10 insertions, 0 deletions
diff --git a/hiredis.c b/hiredis.c
index 664cc44..0b7a17e 100644
--- a/hiredis.c
+++ b/hiredis.c
@@ -326,6 +326,15 @@ void redisFreeReplyReader(void *reader) {
free(r);
}
+int redisIsReplyReaderEmpty(void *reader) {
+ redisReader *r = reader;
+ if (r->buf != NULL && sdslen(r->buf) > 0)
+ return 0;
+ if (r->rlist != NULL && r->rpos < r->rlen)
+ return 0;
+ return 1;
+}
+
static void redisSetReplyReaderError(redisReader *r, redisReply *error) {
/* Clear remaining buffer when we see a protocol error. */
if (r->buf != NULL) {
diff --git a/hiredis.h b/hiredis.h
index 85fc540..482072e 100644
--- a/hiredis.h
+++ b/hiredis.h
@@ -54,6 +54,7 @@ void freeReplyObject(redisReply *r);
redisReply *redisCommand(int fd, const char *format, ...);
void *redisCreateReplyReader();
void redisFreeReplyReader(void *ptr);
+int redisIsReplyReaderEmpty(void *ptr);
void *redisFeedReplyReader(void *reader, char *buf, int len);
#endif