From: antirez Date: Wed, 12 May 2010 09:51:01 +0000 (+0200) Subject: Merge branch 'vm-speedup' X-Git-Url: https://git.saurik.com/redis.git/commitdiff_plain/abce5627d7ce3bc1f5d2a15f65af11874bec169a?hp=ad30aa606911d11119670083a6a96e8d446f4341 Merge branch 'vm-speedup' --- diff --git a/redis.c b/redis.c index 3af798f3..90fe6f95 100644 --- 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)); diff --git a/test-redis.tcl b/test-redis.tcl index d4a9ecdb..a306ea6a 100644 --- a/test-redis.tcl +++ b/test-redis.tcl @@ -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*}