]> Savannah Git Hosting - gnulib.git/commitdiff
mktime: don’t consult daylight
authorPaul Eggert <eggert@cs.ucla.edu>
Thu, 14 Nov 2024 17:40:24 +0000 (10:40 -0700)
committerPaul Eggert <eggert@cs.ucla.edu>
Thu, 14 Nov 2024 17:41:07 +0000 (10:41 -0700)
* lib/mktime.c (__mktime_internal): Do not consult __daylight
as it has unreliable contents - among other things, the user
can set it.  It also wasn’t being configured properly for
mingw-w64; this problem was reported by Markus Muetzel in
<https://lists.gnu.org/r/bug-gnulib/2024-11/msg00126.html>.
* m4/mktime.m4 (gl_PREREQ_MKTIME): Do not check for ‘daylight’;
no longer needed.

ChangeLog
lib/mktime.c
m4/mktime.m4

index da783e9f3275693778161d9eed9f4d2d7404ae78..c74117ac6b3b53cf4512f62f4b23441cc9f11a39 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2024-11-14  Paul Eggert  <eggert@cs.ucla.edu>
+
+       mktime: don’t consult daylight
+       * lib/mktime.c (__mktime_internal): Do not consult __daylight
+       as it has unreliable contents - among other things, the user
+       can set it.  It also wasn’t being configured properly for
+       mingw-w64; this problem was reported by Markus Muetzel in
+       <https://lists.gnu.org/r/bug-gnulib/2024-11/msg00126.html>.
+       * m4/mktime.m4 (gl_PREREQ_MKTIME): Do not check for ‘daylight’;
+       no longer needed.
+
 2024-11-14  Bruno Haible  <bruno@clisp.org>
 
        Eliminate gcc -Wzero-as-null-pointer-constant warnings.
index 7f07abb814308d8ee5d271e2cb8389ebb7d784a3..81d58fd01a3a18a9527a94edaa6b7792d86127a5 100644 (file)
@@ -350,8 +350,8 @@ __mktime_internal (struct tm *tp, bool local, mktime_offset_t *offset)
   int mon = tp->tm_mon;
   int year_requested = tp->tm_year;
 
-  /* If the timezone never observes DST, ignore any tm_isdst request.  */
-  int isdst = local && __daylight ? tp->tm_isdst : 0;
+  /* Ignore any tm_isdst request for timegm.  */
+  int isdst = local ? tp->tm_isdst : 0;
 
   /* 1 if the previous probe was DST.  */
   int dst2 = 0;
index 5f8c608271064413bd78e002b5ff53f9981ee461..cc4998804ed97443a2dd4023782d546e25c6f094 100644 (file)
@@ -1,5 +1,5 @@
 # mktime.m4
-# serial 41
+# serial 42
 dnl Copyright (C) 2002-2003, 2005-2007, 2009-2024 Free Software Foundation, Inc.
 dnl This file is free software; the Free Software Foundation
 dnl gives unlimited permission to copy and/or distribute it,
@@ -316,22 +316,4 @@ AC_DEFUN([gl_FUNC_MKTIME_INTERNAL], [
 ])
 
 # Prerequisites of lib/mktime.c.
-AC_DEFUN([gl_PREREQ_MKTIME], [
-  AC_CACHE_CHECK([spelling of daylight variable],
-    [gl_cv_var___daylight],
-    [for gl_cv_var___daylight in __daylight daylight _daylight 1; do
-       test $gl_cv_var___daylight = 1 && break
-       AC_LINK_IFELSE(
-         [AC_LANG_PROGRAM(
-            [[#include <time.h>
-            ]],
-            [[return $gl_cv_var___daylight;]])
-         ],
-         [break])
-     done])
-  AS_CASE([$gl_cv_var___daylight],
-    [__daylight], [],
-    [AC_DEFINE_UNQUOTED([__daylight], [$gl_cv_var___daylight],
-       [Define to an expression equivalent to <time.h> daylight
-        if <time.h> __daylight does not already do that.])])
-])
+AC_DEFUN([gl_PREREQ_MKTIME], [:])