From b28cbe90e1205ba3c1fe072b09f6407fd5537730 Mon Sep 17 00:00:00 2001 From: antirez Date: Tue, 24 Jul 2018 10:22:12 +0200 Subject: [PATCH] Restore string2ll() to original version. See PR #5157. --- src/util.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/util.c b/src/util.c index e2ada556..ca543502 100644 --- a/src/util.c +++ b/src/util.c @@ -349,7 +349,12 @@ int string2ll(const char *s, size_t slen, long long *value) { if (plen == slen) return 0; - /* Handle negative integers. */ + /* Special case: first and only digit is 0. */ + if (slen == 1 && p[0] == '0') { + if (value != NULL) *value = 0; + return 1; + } + if (p[0] == '-') { negative = 1; p++; plen++; @@ -364,7 +369,7 @@ int string2ll(const char *s, size_t slen, long long *value) { v = p[0]-'0'; p++; plen++; } else if (p[0] == '0' && slen == 1) { - if (value != NULL) *value = 0; + *value = 0; return 1; } else { return 0;