]> git.saurik.com Git - redis.git/commitdiff
Merge branch 'vm-speedup'
authorantirez <antirez@gmail.com>
Wed, 12 May 2010 09:51:01 +0000 (11:51 +0200)
committerantirez <antirez@gmail.com>
Wed, 12 May 2010 09:51:01 +0000 (11:51 +0200)
redis.c
test-redis.tcl

diff --git a/redis.c b/redis.c
index 3af798f3964d3583b8c19f91c9dafe9749640064..90fe6f95b82f45f0104eec866474b77db3d7d5f9 100644 (file)
--- a/redis.c
+++ b/redis.c
@@ -4283,8 +4283,8 @@ static void incrDecrCommand(redisClient *c, long long incr) {
     robj *o;
 
     o = lookupKeyWrite(c->db,c->argv[1]);
-
-    if (getLongLongFromObjectOrReply(c, o, &value, NULL) != REDIS_OK) return;
+    if (o != NULL && checkType(c,o,REDIS_STRING)) return;
+    if (getLongLongFromObjectOrReply(c,o,&value,NULL) != REDIS_OK) return;
 
     value += incr;
     o = createObject(REDIS_STRING,sdscatprintf(sdsempty(),"%lld",value));
index d4a9ecdb017cb8cbecd45aca4e6ac35bd8a2d1b7..a306ea6a8c929b878858463785e933bfc86aba0c 100644 (file)
@@ -373,7 +373,7 @@ proc main {} {
 
     test {INCR fails against a key holding a list} {
         $r rpush mylist 1
-        catch {$r incr novar} err
+        catch {$r incr mylist} err
         $r rpop mylist
         format $err
     } {ERR*}