summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--lib/mktime.c12
2 files changed, 12 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog
index 4b406cc283..5b0dc9322b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,11 +1,16 @@
2016-05-01 Paul Eggert <eggert@cs.ucla.edu>
+ mktime: simplify DEBUG_MKTIME
+ * lib/mktime.c (DEBUG_MKTIME): Define to 0 if not defined.
+ Simplify later usage accordingly.
+
Port mktime_internal offset to unsigned time_t
This avoids some assumptions about wraparound arithmetic on
signed integer overflow.
* lib/mktime-internal.h (mktime_offset_t): New type.
(mktime_internal): Use it in decl.
* lib/mktime.c, lib/timegm.c (mktime_offset_t) [_LIBC]: New type.
+
* lib/mktime.c (__mktime_internal, localtime_offset):
* lib/timegm.c (timegm): Use it.
* m4/mktime.m4 (gl_TIME_T_IS_SIGNED): New macro.
diff --git a/lib/mktime.c b/lib/mktime.c
index 4f4f0bf34c..ccc6c5149f 100644
--- a/lib/mktime.c
+++ b/lib/mktime.c
@@ -17,9 +17,11 @@
License along with the GNU C Library; if not, see
<http://www.gnu.org/licenses/>. */
-/* Define this to have a standalone program to test this implementation of
+/* Define this to 1 to have a standalone program to test this implementation of
mktime. */
-/* #define DEBUG_MKTIME 1 */
+#ifndef DEBUG_MKTIME
+# define DEBUG_MKTIME 0
+#endif
#ifndef _LIBC
# include <config.h>
@@ -40,13 +42,13 @@
#include <intprops.h>
#include <verify.h>
-#if defined DEBUG_MKTIME && DEBUG_MKTIME
+#if DEBUG_MKTIME
# include <stdio.h>
# include <stdlib.h>
/* Make it work even if the system's libc has its own mktime routine. */
# undef mktime
# define mktime my_mktime
-#endif /* DEBUG_MKTIME */
+#endif
/* Some of the code in this file assumes that signed integer overflow
silently wraps around. This assumption can't easily be programmed
@@ -545,7 +547,7 @@ libc_hidden_def (mktime)
libc_hidden_weak (timelocal)
#endif
-#if defined DEBUG_MKTIME && DEBUG_MKTIME
+#if DEBUG_MKTIME
static int
not_equal_tm (const struct tm *a, const struct tm *b)