* lib/parse-duration.c: Include "intprops.h".
(TIME_MAX): Rename to MAX_DURATION and define to
TYPE_MAXIMUM(time_t).
* modules/parse-duration (Depends-on): Add intprops.
Reported by Jonas 'Sortie' Termansen.
+2014-06-11 Bruce Korb <bkorb@gnu.org>
+ Jim Meyering <meyering@fb.com>
+
+ parse-duration: eliminate 68-year duration limit
+ * lib/parse-duration.c: Include "intprops.h".
+ (TIME_MAX): Rename to MAX_DURATION and define to
+ TYPE_MAXIMUM(time_t).
+ * modules/parse-duration (Depends-on): Add intprops.
+ Reported by Jonas 'Sortie' Termansen.
+
2014-06-14 Paul Eggert <eggert@cs.ucla.edu>
pthread: don't assume AC_CANONICAL_HOST, port better to Solaris, etc.
#include <stdlib.h>
#include <string.h>
+#include "intprops.h"
+
#ifndef NUL
#define NUL '\0'
#endif
#define SEC_PER_MONTH (SEC_PER_DAY * 30)
#define SEC_PER_YEAR (SEC_PER_DAY * 365)
-#define TIME_MAX 0x7FFFFFFF
+#undef MAX_DURATION
+#define MAX_DURATION TYPE_MAXIMUM(time_t)
/* Wrapper around strtoul that does not require a cast. */
static unsigned long
return BAD_TIME;
}
- if (val > TIME_MAX / scale)
+ if (val > MAX_DURATION / scale)
{
errno = ERANGE;
return BAD_TIME;
}
val *= scale;
- if (base > TIME_MAX - val)
+ if (base > MAX_DURATION - val)
{
errno = ERANGE;
return BAD_TIME;
lib/parse-duration.c
Depends-on:
+intprops
configure.ac: