aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteve Bennett <steveb@workware.net.au>2020-12-14 08:03:27 +1000
committerSteve Bennett <steveb@workware.net.au>2020-12-14 08:07:27 +1000
commitd296f2f7cd5f4f0168e9c80c19ba499a4595c6fa (patch)
tree28fbec4d9fe5093a086958e9ff896b22b97e117b
parent6b287b9c6b6ec8fbc62f1cbaad48547cf5a4b65c (diff)
downloadjimtcl-d296f2f7cd5f4f0168e9c80c19ba499a4595c6fa.zip
jimtcl-d296f2f7cd5f4f0168e9c80c19ba499a4595c6fa.tar.gz
jimtcl-d296f2f7cd5f4f0168e9c80c19ba499a4595c6fa.tar.bz2
redis: Check for error on NULL reply
A command may return NULL, but set an error (e.g. Server closed the connection). In this case, make sure to return the error. Signed-off-by: Steve Bennett <steveb@workware.net.au>
-rw-r--r--jim-redis.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/jim-redis.c b/jim-redis.c
index d1e9457..8722e9f 100644
--- a/jim-redis.c
+++ b/jim-redis.c
@@ -95,11 +95,14 @@ static int jim_redis_subcmd(Jim_Interp *interp, int argc, Jim_Obj *const *argv)
if (reply) {
Jim_SetResult(interp, jim_redis_get_result(interp, reply));
if (reply->type == REDIS_REPLY_ERROR) {
- /*Jim_SetResultFormatted(interp, "%#s %#s: %#s", argv[0], argv[1], Jim_GetResult(interp));*/
ret = JIM_ERR;
}
freeReplyObject(reply);
}
+ else if (c->err) {
+ Jim_SetResultFormatted(interp, "%#s: %s", argv[1], c->errstr);
+ ret = JIM_ERR;
+ }
return ret;
}