From 0f72257049f76c8371e2dc18336a4d1015d06a99 Mon Sep 17 00:00:00 2001 From: antirez Date: Tue, 20 Dec 2016 10:19:06 +0100 Subject: [PATCH] Geo: fix GEOHASH return value for consistency. The same thing observed in #3551 by gnethercutt also fixed for GEOHASH as the original PR did. --- src/geo.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/geo.c b/src/geo.c index e1d026f1..8423931a 100644 --- a/src/geo.c +++ b/src/geo.c @@ -684,16 +684,15 @@ void geohashCommand(client *c) { int j; /* Look up the requested zset */ - robj *zobj = NULL; - if ((zobj = lookupKeyReadOrReply(c, c->argv[1], shared.emptymultibulk)) - == NULL || checkType(c, zobj, OBJ_ZSET)) return; + robj *zobj = lookupKeyRead(c->db, c->argv[1]); + if (zobj && checkType(c, zobj, OBJ_ZSET)) return; /* Geohash elements one after the other, using a null bulk reply for * missing elements. */ addReplyMultiBulkLen(c,c->argc-2); for (j = 2; j < c->argc; j++) { double score; - if (zsetScore(zobj, c->argv[j]->ptr, &score) == C_ERR) { + if (!zobj || zsetScore(zobj, c->argv[j]->ptr, &score) == C_ERR) { addReply(c,shared.nullbulk); } else { /* The internal format we use for geocoding is a bit different