bug-gnulib@gnu.org mirror (unofficial)
 help / color / mirror / Atom feed
* nstftime uses deprecated HAVE_TM_ZONE
       [not found] <20210104201159.GA1125438.ref@spikycactus.com>
@ 2021-01-04 20:11 ` Mike Gran
  2021-01-04 21:42   ` Bruno Haible
  0 siblings, 1 reply; 2+ messages in thread
From: Mike Gran @ 2021-01-04 20:11 UTC (permalink / raw)
  To: bug-gnulib

Hi-
nstrftime.c uses HAVE_TM_ZONE, but, I think the preferred
define is supposed to be HAVE_STRUCT_TM_TM_ZONE.
Thanks,
Mike Gran



^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: nstftime uses deprecated HAVE_TM_ZONE
  2021-01-04 20:11 ` nstftime uses deprecated HAVE_TM_ZONE Mike Gran
@ 2021-01-04 21:42   ` Bruno Haible
  0 siblings, 0 replies; 2+ messages in thread
From: Bruno Haible @ 2021-01-04 21:42 UTC (permalink / raw)
  To: bug-gnulib; +Cc: Mike Gran

Mike Gran wrote:
> nstrftime.c uses HAVE_TM_ZONE, but, I think the preferred
> define is supposed to be HAVE_STRUCT_TM_TM_ZONE.

Indeed, the Autoconf documentation deprecates HAVE_TM_ZONE already
since version 2.52. And in other parts of Gnulib, we switched to
HAVE_STRUCT_TM_TM_ZONE already 18 years ago, on 2002-12-31.

Thanks for the report.


2021-01-04  Bruno Haible  <bruno@clisp.org>

	nstrftime, time_rz: Avoid using an obsolete Autoconf macro.
	Reported by Mike Gran <spk121@yahoo.com> in
	<https://lists.gnu.org/archive/html/bug-gnulib/2021-01/msg00067.html>.
	* lib/time-internal.h: Test HAVE_STRUCT_TM_TM_ZONE, not HAVE_TM_ZONE.
	* lib/time_rz.c: Likewise.
	* lib/nstrftime.c: Set and test HAVE_STRUCT_TM_TM_ZONE, not
	HAVE_TM_ZONE.
	* m4/nstrftime.m4 (gl_FUNC_GNU_STRFTIME): Update comments.

diff --git a/lib/nstrftime.c b/lib/nstrftime.c
index 252256a..7ef7529 100644
--- a/lib/nstrftime.c
+++ b/lib/nstrftime.c
@@ -19,7 +19,7 @@
 # define USE_IN_EXTENDED_LOCALE_MODEL 1
 # define HAVE_STRUCT_ERA_ENTRY 1
 # define HAVE_TM_GMTOFF 1
-# define HAVE_TM_ZONE 1
+# define HAVE_STRUCT_TM_TM_ZONE 1
 # define HAVE_TZNAME 1
 # include "../locale/localeinfo.h"
 #else
@@ -499,7 +499,7 @@ __strftime_internal (STREAM_OR_CHAR_T *s, STRFTIME_ARG (size_t maxsize)
 #endif
 
   zone = NULL;
-#if HAVE_TM_ZONE
+#if HAVE_STRUCT_TM_TM_ZONE
   /* The POSIX test suite assumes that setting
      the environment variable TZ to a new value before calling strftime()
      will influence the result (the %Z format) even if the information in
@@ -516,7 +516,7 @@ __strftime_internal (STREAM_OR_CHAR_T *s, STRFTIME_ARG (size_t maxsize)
     }
   else
     {
-# if !HAVE_TM_ZONE
+# if !HAVE_STRUCT_TM_TM_ZONE
       /* Infer the zone name from *TZ instead of from TZNAME.  */
       tzname_vec = tz->tzname_copy;
 # endif
diff --git a/lib/time-internal.h b/lib/time-internal.h
index 90364a0..fb9b5ed 100644
--- a/lib/time-internal.h
+++ b/lib/time-internal.h
@@ -24,7 +24,7 @@ struct tm_zone
      members are zero.  */
   struct tm_zone *next;
 
-#if HAVE_TZNAME && !HAVE_TM_ZONE
+#if HAVE_TZNAME && !HAVE_STRUCT_TM_TM_ZONE
   /* Copies of recent strings taken from tzname[0] and tzname[1].
      The copies are in ABBRS, so that they survive tzset.  Null if unknown.  */
   char *tzname_copy[2];
diff --git a/lib/time_rz.c b/lib/time_rz.c
index 0fdff80..c388019 100644
--- a/lib/time_rz.c
+++ b/lib/time_rz.c
@@ -71,7 +71,7 @@ tzalloc (char const *name)
   if (tz)
     {
       tz->next = NULL;
-#if HAVE_TZNAME && !HAVE_TM_ZONE
+#if HAVE_TZNAME && !HAVE_STRUCT_TM_TM_ZONE
       tz->tzname_copy[0] = tz->tzname_copy[1] = NULL;
 #endif
       tz->tz_is_set = !!name;
@@ -83,13 +83,13 @@ tzalloc (char const *name)
 }
 
 /* Save into TZ any nontrivial time zone abbreviation used by TM, and
-   update *TM (if HAVE_TM_ZONE) or *TZ (if !HAVE_TM_ZONE &&
-   HAVE_TZNAME) if they use the abbreviation.  Return true if
-   successful, false (setting errno) otherwise.  */
+   update *TM (if HAVE_STRUCT_TM_TM_ZONE) or *TZ (if
+   !HAVE_STRUCT_TM_TM_ZONE && HAVE_TZNAME) if they use the abbreviation.
+   Return true if successful, false (setting errno) otherwise.  */
 static bool
 save_abbr (timezone_t tz, struct tm *tm)
 {
-#if HAVE_TM_ZONE || HAVE_TZNAME
+#if HAVE_STRUCT_TM_TM_ZONE || HAVE_TZNAME
   char const *zone = NULL;
   char *zone_copy = (char *) "";
 
@@ -97,7 +97,7 @@ save_abbr (timezone_t tz, struct tm *tm)
   int tzname_index = -1;
 # endif
 
-# if HAVE_TM_ZONE
+# if HAVE_STRUCT_TM_TM_ZONE
   zone = tm->tm_zone;
 # endif
 
@@ -145,7 +145,7 @@ save_abbr (timezone_t tz, struct tm *tm)
     }
 
   /* Replace the zone name so that its lifetime matches that of TZ.  */
-# if HAVE_TM_ZONE
+# if HAVE_STRUCT_TM_TM_ZONE
   tm->tm_zone = zone_copy;
 # else
   if (0 <= tzname_index)
@@ -303,7 +303,7 @@ mktime_z (timezone_t tz, struct tm *tm)
           tm_1.tm_isdst = tm->tm_isdst;
           time_t t = mktime (&tm_1);
           bool ok = 0 <= tm_1.tm_yday;
-#if HAVE_TM_ZONE || HAVE_TZNAME
+#if HAVE_STRUCT_TM_TM_ZONE || HAVE_TZNAME
           ok = ok && save_abbr (tz, &tm_1);
 #endif
           if (revert_tz (old_tz) && ok)
diff --git a/m4/nstrftime.m4 b/m4/nstrftime.m4
index 4674442..b510554 100644
--- a/m4/nstrftime.m4
+++ b/m4/nstrftime.m4
@@ -1,4 +1,4 @@
-# serial 36
+# serial 37
 
 # Copyright (C) 1996-1997, 1999-2007, 2009-2021 Free Software Foundation, Inc.
 #
@@ -12,7 +12,7 @@ AC_DEFUN([gl_FUNC_GNU_STRFTIME],
 [
  AC_REQUIRE([AC_C_RESTRICT])
 
- # This defines (or not) HAVE_TZNAME and HAVE_TM_ZONE.
+ # This defines (or not) HAVE_TZNAME and HAVE_STRUCT_TM_TM_ZONE.
  AC_REQUIRE([AC_STRUCT_TIMEZONE])
 
  AC_REQUIRE([gl_TM_GMTOFF])



^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2021-01-04 21:42 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <20210104201159.GA1125438.ref@spikycactus.com>
2021-01-04 20:11 ` nstftime uses deprecated HAVE_TM_ZONE Mike Gran
2021-01-04 21:42   ` Bruno Haible

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).