]> git.saurik.com Git - redis.git/commitdiff
Fixed a problem with string2ll()
authorantirez <antirez@gmail.com>
Sun, 1 May 2011 13:36:47 +0000 (15:36 +0200)
committerantirez <antirez@gmail.com>
Sun, 1 May 2011 13:36:47 +0000 (15:36 +0200)
src/util.c

index 599dc69005c9da33f497224255cfab34387eb55c..2404c77cd2bfbb8cc44c4e75bfef68bb17596501 100644 (file)
@@ -222,10 +222,13 @@ int string2ll(char *s, size_t slen, long long *value) {
             return 0;
     }
 
-    /* First digit should be 1-9. */
+    /* First digit should be 1-9, otherwise the string should just be 0. */
     if (p[0] >= '1' && p[0] <= '9') {
         v = p[0]-'0';
         p++; plen++;
+    } else if (p[0] == '0' && slen == 1) {
+        *value = 0;
+        return 1;
     } else {
         return 0;
     }