From: Jim Meyering Date: Thu, 17 Mar 2005 15:32:53 +0000 (+0000) Subject: (parse_tab_stops, main): Use DECIMAL_DIGIT_ACCUMULATE macro in X-Git-Tag: CPPI-1_12~1288 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=f864f6df1cf7f15cf05cd335e011849c9ae6dde4;p=thirdparty%2Fcoreutils.git (parse_tab_stops, main): Use DECIMAL_DIGIT_ACCUMULATE macro in place of nearly-equivalent code. --- diff --git a/src/unexpand.c b/src/unexpand.c index 60a3f1d61f..935f986002 100644 --- a/src/unexpand.c +++ b/src/unexpand.c @@ -193,8 +193,7 @@ parse_tab_stops (char const *stops) } { /* Detect overflow. */ - uintmax_t new_t = 10 * tabval + *stops - '0'; - if (UINTMAX_MAX / 10 < tabval || new_t < tabval * 10) + if (DECIMAL_DIGIT_ACCUMULATE (tabval, *stops - '0', UINTMAX_MAX)) { size_t len = strspn (num_start, "0123456789"); char *bad_num = xstrndup (num_start, len); @@ -203,7 +202,6 @@ parse_tab_stops (char const *stops) ok = false; stops = num_start + len - 1; } - tabval = new_t; } } else @@ -519,10 +517,8 @@ main (int argc, char **argv) have_tabval = true; } { - uintmax_t new_t = tabval * 10 + c - '0'; - if (UINTMAX_MAX / 10 < tabval || new_t < tabval * 10) + if (DECIMAL_DIGIT_ACCUMULATE (tabval, c - '0', UINTMAX_MAX)) error (EXIT_FAILURE, 0, _("tab stop value is too large")); - tabval = new_t; } obsolete_tablist = true; break;