]> git.saurik.com Git - redis.git/commitdiff
Merge branch 'hash-refactor' of git://github.com/pietern/redis
authorantirez <antirez@gmail.com>
Fri, 16 Apr 2010 13:53:44 +0000 (15:53 +0200)
committerantirez <antirez@gmail.com>
Fri, 16 Apr 2010 13:53:44 +0000 (15:53 +0200)
dict.c
dict.h
redis.c

diff --git a/dict.c b/dict.c
index 08bffbff8e44cf631c71883cd5057148f6c5cfe1..d5010708c37ce6729e3068a170e30029f2fa1d38 100644 (file)
--- a/dict.c
+++ b/dict.c
@@ -423,6 +423,13 @@ dictEntry *dictFind(dict *d, const void *key)
     return NULL;
 }
 
+void *dictFetchValue(dict *d, const void *key) {
+    dictEntry *he;
+
+    he = dictFind(d,key);
+    return he ? dictGetEntryVal(he) : NULL;
+}
+
 dictIterator *dictGetIterator(dict *d)
 {
     dictIterator *iter = _dictAlloc(sizeof(*iter));
diff --git a/dict.h b/dict.h
index ba8f86951b5dc414c6450d06abd59e9b9f7baf89..30ace4db7cba3df6bae3ac01d4a55d4f43ecc733 100644 (file)
--- a/dict.h
+++ b/dict.h
@@ -129,6 +129,7 @@ int dictDelete(dict *d, const void *key);
 int dictDeleteNoFree(dict *d, const void *key);
 void dictRelease(dict *d);
 dictEntry * dictFind(dict *d, const void *key);
+void *dictFetchValue(dict *d, const void *key);
 int dictResize(dict *d);
 dictIterator *dictGetIterator(dict *d);
 dictEntry *dictNext(dictIterator *iter);
diff --git a/redis.c b/redis.c
index ee9eccfb148417d740f45c2fa72d69331caf8f33..0779fe515d696aacbae15b5efd76706f220ab8c4 100644 (file)
--- a/redis.c
+++ b/redis.c
@@ -7068,7 +7068,7 @@ static void expireGenericCommand(redisClient *c, robj *key, robj *param, long of
         addReply(c,shared.czero);
         return;
     }
-    if (seconds < 0) {
+    if (seconds <= 0) {
         if (deleteKey(c->db,key)) server.dirty++;
         addReply(c, shared.cone);
         return;