]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
parse-date: use uintmax_t where appropriate
authorJ William Piggott <elseifthen@gmx.com>
Tue, 16 May 2017 19:05:55 +0000 (15:05 -0400)
committerJ William Piggott <elseifthen@gmx.com>
Thu, 15 Jun 2017 19:02:41 +0000 (15:02 -0400)
Reported-by: Ruediger Meier <ruediger.meier@ga-group.nl>
Influenced-by: gnulib 30784c4 Paul Eggert <eggert@cs.ucla.edu>
Signed-off-by: J William Piggott <elseifthen@gmx.com>
lib/parse-date.y

index b79b333e3f296375b9f63031ae58b239c59cc218..a8f710cd8a66ef8664594b4ad73ca746599a2353 100644 (file)
@@ -1061,7 +1061,7 @@ static int yylex (union YYSTYPE *lvalp, parser_control *pc)
                if (c_isdigit (c) || c == '-' || c == '+') {
                        char const *p;
                        int sign;
-                       unsigned long int value;
+                       uintmax_t value;
                        if (c == '-' || c == '+') {
                                sign = c == '-' ? -1 : 1;
                                while (c = *++pc->input, c_isspace (c))
@@ -1073,21 +1073,21 @@ static int yylex (union YYSTYPE *lvalp, parser_control *pc)
                                sign = 0;
                        p = pc->input;
                        for (value = 0; ; value *= 10) {
-                               unsigned long int value1 = value + (c - '0');
+                               uintmax_t value1 = value + (c - '0');
                                if (value1 < value)
                                        return '?';
                                value = value1;
                                c = *++p;
                                if (! c_isdigit (c))
                                        break;
-                               if (ULONG_MAX / 10 < value)
+                               if (UINTMAX_MAX / 10 < value)
                                        return '?';
                        }
                        if ((c == '.' || c == ',') && c_isdigit (p[1])) {
                                time_t s;
                                int ns;
                                int digits;
-                               unsigned long int value1;
+                               uintmax_t value1;
 
                                /* Check for overflow when converting value to
                                 * time_t.