summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorantirez <antirez@gmail.com>2013-10-31 18:22:29 +0100
committerantirez <antirez@gmail.com>2013-10-31 18:22:29 +0100
commit59b30b327dfd07e75be90486ff0313c272495ae3 (patch)
treeac0cb1dbdc3c6b73f068ee9d22d14c32207a6ba1
parent3d3e350b128afcb1e1f1865f7dc2423b2e6f4372 (diff)
downloadredis-59b30b327dfd07e75be90486ff0313c272495ae3.tar.gz
SCAN: no sdsEncodedObject() API in Redis 2.8.
-rw-r--r--src/db.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/db.c b/src/db.c
index 29895efe6..5f357aa9a 100644
--- a/src/db.c
+++ b/src/db.c
@@ -475,16 +475,16 @@ void scanGenericCommand(redisClient *c, robj *o) {
/* Filter element if it does not match the pattern. */
if (!filter && use_pattern) {
- if (sdsEncodedObject(kobj)) {
- if (!stringmatchlen(pat, patlen, kobj->ptr, sdslen(kobj->ptr), 0))
- filter = 1;
- } else {
+ if (kobj->encoding == REDIS_ENCODING_INT) {
char buf[REDIS_LONGSTR_SIZE];
int len;
redisAssert(kobj->encoding == REDIS_ENCODING_INT);
len = ll2string(buf,sizeof(buf),(long)kobj->ptr);
if (!stringmatchlen(pat, patlen, buf, len, 0)) filter = 1;
+ } else {
+ if (!stringmatchlen(pat, patlen, kobj->ptr, sdslen(kobj->ptr), 0))
+ filter = 1;
}
}