diff options
Diffstat (limited to 'lib/strto.c')
-rw-r--r-- | lib/strto.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/lib/strto.c b/lib/strto.c index f1918843765..b1d803a77d9 100644 --- a/lib/strto.c +++ b/lib/strto.c @@ -189,11 +189,12 @@ long trailing_strtoln(const char *str, const char *end) if (!end) end = str + strlen(str); - if (isdigit(end[-1])) { - for (p = end - 1; p > str; p--) { - if (!isdigit(*p)) - return dectoul(p + 1, NULL); - } + p = end - 1; + if (p > str && isdigit(*p)) { + do { + if (!isdigit(p[-1])) + return dectoul(p, NULL); + } while (--p > str); } return -1; |