From 07668cd1fa04d6e185cd71d11c010faea4486897 Mon Sep 17 00:00:00 2001 From: J William Piggott Date: Tue, 16 May 2017 15:05:55 -0400 Subject: parse-date: use uintmax_t where appropriate Reported-by: Ruediger Meier Influenced-by: gnulib 30784c4 Paul Eggert Signed-off-by: J William Piggott --- lib/parse-date.y | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'lib/parse-date.y') diff --git a/lib/parse-date.y b/lib/parse-date.y index b79b333e3..a8f710cd8 100644 --- a/lib/parse-date.y +++ b/lib/parse-date.y @@ -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. -- cgit v1.2.3-55-g7522