]> git.saurik.com Git - redis.git/commitdiff
Merge branch 'master' into networking-perf
authorPieter Noordhuis <pcnoordhuis@gmail.com>
Fri, 3 Sep 2010 14:44:31 +0000 (16:44 +0200)
committerPieter Noordhuis <pcnoordhuis@gmail.com>
Fri, 3 Sep 2010 14:44:50 +0000 (16:44 +0200)
Resolved conflict in src/db.c and changed adding an error to the reply
in blockingPopGenericCommand to use the new API.

1  2 
src/db.c
src/redis.c
src/t_list.c

diff --cc src/db.c
index 4f1572a6cf43c7c24fa2fdd6500d05e826c890f8,f380bf6ec05882c6e79ec3993608e68d8e96c168..fc0595100ecb7f7637d9b091bea644500e1be0b5
+++ b/src/db.c
@@@ -221,11 -221,14 +221,12 @@@ void keysCommand(redisClient *c) 
      dictIterator *di;
      dictEntry *de;
      sds pattern = c->argv[1]->ptr;
-     int plen = sdslen(pattern);
+     int plen = sdslen(pattern), allkeys;
      unsigned long numkeys = 0;
 -    robj *lenobj = createObject(REDIS_STRING,NULL);
 +    void *replylen = addDeferredMultiBulkLength(c);
  
      di = dictGetIterator(c->db->dict);
 -    addReply(c,lenobj);
 -    decrRefCount(lenobj);
+     allkeys = (pattern[0] == '*' && pattern[1] == '\0');
      while((de = dictNext(di)) != NULL) {
          sds key = dictGetEntryKey(de);
          robj *keyobj;
diff --cc src/redis.c
Simple merge
diff --cc src/t_list.c
index 4d948294e7bd57020dee70789a11d441d9ccf274,add1bee167691b1fcc382c1292c728832f6c65bd..41d651f64543d144bc528f312adf2f61d63f7372
@@@ -785,6 -786,16 +786,16 @@@ void blockingPopGenericCommand(redisCli
      time_t timeout;
      int j;
  
 -        addReplySds(c,sdsnew("-ERR timeout is negative\r\n"));
+     /* Make sure timeout is an integer value */
+     if (getLongLongFromObjectOrReply(c,c->argv[c->argc-1],&lltimeout,
+             "timeout is not an integer") != REDIS_OK) return;
+     /* Make sure the timeout is not negative */
+     if (lltimeout < 0) {
++        addReplyError(c,"timeout is negative");
+         return;
+     }
      for (j = 1; j < c->argc-1; j++) {
          o = lookupKeyWrite(c->db,c->argv[j]);
          if (o != NULL) {