* lib/nstrftime.c: Use HAVE_TZNAME_ARRAY instead of HAVE_TZNAME.
(tzname): Remove declaration.
* modules/nstrftime (Depends-on): Add tzname.
* m4/nstrftime.m4 (gl_FUNC_GNU_STRFTIME): Don't require
AC_STRUCT_TIMEZONE.
+2024-06-06 Bruno Haible <bruno@clisp.org>
+
+ nstrftime: Support time zone names on MSVC.
+ * lib/nstrftime.c: Use HAVE_TZNAME_ARRAY instead of HAVE_TZNAME.
+ (tzname): Remove declaration.
+ * modules/nstrftime (Depends-on): Add tzname.
+ * m4/nstrftime.m4 (gl_FUNC_GNU_STRFTIME): Don't require
+ AC_STRUCT_TIMEZONE.
+
2024-06-06 Bruno Haible <bruno@clisp.org>
parse-datetime: Support time zone names on MSVC.
# define HAVE_STRUCT_ERA_ENTRY 1
# define HAVE_TM_GMTOFF 1
# define HAVE_STRUCT_TM_TM_ZONE 1
-# define HAVE_TZNAME 1
+# define HAVE_TZNAME_ARRAY 1
# include "../locale/localeinfo.h"
#else
# include <libc-config.h>
#include <errno.h>
#include <time.h>
-#if HAVE_TZNAME && !HAVE_DECL_TZNAME
-extern char *tzname[];
-#endif
-
/* Do multibyte processing if multibyte encodings are supported, unless
multibyte sequences are safe in formats. Multibyte sequences are
safe if they cannot contain byte sequences that look like format
# define aam_len STRLEN (a_altmonth)
# define ap_len STRLEN (ampm)
#endif
-#if HAVE_TZNAME
+#if HAVE_TZNAME_ARRAY
char **tzname_vec = tzname;
#endif
const char *zone;
POSIX does not require it. Do the right thing instead. */
zone = (const char *) tp->tm_zone;
#endif
-#if HAVE_TZNAME
+#if HAVE_TZNAME_ARRAY
if (!tz)
{
if (! (zone && *zone))
-# serial 37
+# serial 37.1
-# Copyright (C) 1996-1997, 1999-2007, 2009-2023 Free Software Foundation, Inc.
+# Copyright (C) 1996-1997, 1999-2007, 2009-2024 Free Software Foundation, Inc.
#
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
[
AC_REQUIRE([AC_C_RESTRICT])
- # This defines (or not) HAVE_TZNAME and HAVE_STRUCT_TM_TM_ZONE.
- AC_REQUIRE([AC_STRUCT_TIMEZONE])
-
AC_REQUIRE([gl_TM_GMTOFF])
AC_DEFINE([my_strftime], [nstrftime],
stdbool
stdckdint
time_rz
+tzname
configure.ac:
gl_FUNC_GNU_STRFTIME