# HG changeset patch # User Timo Sirainen # Date 1509910615 -7200 # Node ID 641236fac254237518fee9373da2539b891f79d6 # Parent 340fd327a9652ae437e9112197f0fb36986f313e lib: str_parse/to_*int*() - minor optimization diff -r 340fd327a965 -r 641236fac254 src/lib/strnum.c --- a/src/lib/strnum.c Sat Nov 04 15:29:29 2017 +0200 +++ b/src/lib/strnum.c Sun Nov 05 21:36:55 2017 +0200 @@ -87,7 +87,7 @@ if (*str < '0' || *str > '9') return -1; - for (; *str >= '0' && *str <= '9'; str++) { + do { if (n >= ((uintmax_t)-1 / 10)) { if (n > (uintmax_t)-1 / 10) return -1; @@ -95,7 +95,9 @@ return -1; } n = n * 10 + (*str - '0'); - } + str++; + } while (*str >= '0' && *str <= '9'); + if (endp_r != NULL) *endp_r = str; *num_r = n;