This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
The non-unix parts for localtime_r_needs_tzset
authorH.Merijn Brand <h.m.brand@xs4all.nl>
Mon, 6 Nov 2006 13:58:56 +0000 (13:58 +0000)
committerH.Merijn Brand <h.m.brand@xs4all.nl>
Mon, 6 Nov 2006 13:58:56 +0000 (13:58 +0000)
Plus forced Glossary entry. That is a TODO for automation

p4raw-id: //depot/perl@29213

22 files changed:
Cross/config.sh-arm-linux
NetWare/config.wc
Porting/Glossary
Porting/config_H
config_h.SH
configure.com
epoc/config.sh
handy.h
plan9/config.plan9
plan9/config_h.sample
plan9/config_sh.sample
uconfig.sh
win32/config.bc
win32/config.ce
win32/config.gc
win32/config.vc
win32/config.vc64
win32/config_H.bc
win32/config_H.ce
win32/config_H.gc
win32/config_H.vc
win32/config_H.vc64

index 9af4368..be17a38 100644 (file)
@@ -281,6 +281,7 @@ d_ldbl_dig='define'
 d_libm_lib_version='define'
 d_link='define'
 d_localtime_r='undef'
+d_localtime_r_needs_tzset='undef'
 d_locconv='define'
 d_lockf='define'
 d_longdbl='define'
index 30c6e5d..675d934 100644 (file)
@@ -269,6 +269,7 @@ d_ldbl_dig='define'
 d_libm_lib_version='undef'
 d_link='define'
 d_localtime_r='undef'
+d_localtime_r_needs_tzset='undef'
 d_locconv='define'
 d_lockf='undef'
 d_longdbl='define'
index 9a40c55..0c6b247 100644 (file)
@@ -1226,6 +1226,10 @@ d_localtime_r (d_localtime_r.U):
        which indicates to the C program that the localtime_r()
        routine is available.
 
+d_localtime_r_needs_tzset (d_localtime_r.U):
+       This variable conditionally defines the LOCALTIME_R_NEEDS_TZSET
+       symbol, which makes us call tzset before localtime_r()
+
 d_locconv (d_locconv.U):
        This variable conditionally defines HAS_LOCALECONV if localeconv() is
        available for numeric and monetary formatting conventions.
index 51e86b1..920cd90 100644 (file)
  *     This symbol, if defined, indicates that the localtime_r routine
  *     is available to localtime re-entrantly.
  */
+/* LOCALTIME_R_NEEDS_TZSET:
+ *     Many libc's localtime_r implementations do not call tzset,
+ *     making them differ from localtime(), and making timezone
+ *     changes using $ENV{TZ} without explicitly calling tzset
+ *     impossible. This symbol makes us call tzset before localtime_r
+ */
 /* LOCALTIME_R_PROTO:
  *     This symbol encodes the prototype of localtime_r.
  *     It is zero if d_localtime_r is undef, and one of the
  *     is defined.
  */
 /*#define HAS_LOCALTIME_R         / **/
+/*#define LOCALTIME_R_NEEDS_TZSET         / **/
 #define LOCALTIME_R_PROTO 0       /**/
 
 /* HAS_LONG_DOUBLE:
index 4812284..957c05b 100644 (file)
@@ -2287,6 +2287,12 @@ sed <<!GROK!THIS! >$CONFIG_H -e 's!^#undef\(.*/\)\*!/\*#define\1 \*!' -e 's!^#un
  *     This symbol, if defined, indicates that the localtime_r routine
  *     is available to localtime re-entrantly.
  */
+/* LOCALTIME_R_NEEDS_TZSET:
+ *     Many libc's localtime_r implementations do not call tzset,
+ *     making them differ from localtime(), and making timezone
+ *     changes using $ENV{TZ} without explicitly calling tzset
+ *     impossible. This symbol makes us call tzset before localtime_r
+ */
 #$d_localtime_r_needs_tzset LOCALTIME_R_NEEDS_TZSET /**/
 #ifdef LOCALTIME_R_NEEDS_TZSET
 #define L_R_TZSET tzset(),
index 2078547..47537f0 100644 (file)
@@ -6440,6 +6440,7 @@ $ WC "d_getservent_r='undef'"
 $ WC "d_getspnam_r='undef'"
 $ WC "d_gmtime_r='undef'"      ! leave undef'd; we use my_gmtime
 $ WC "d_localtime_r='undef'"   ! leave undef'd; we use my_localtime
+$ WC "d_localtime_r_needs_tzset='undef'"
 $ WC "d_random_r='undef'"
 $ WC "d_readdir_r='define'"    ! always defined; we roll our own
 $ WC "d_readdir64_r='undef'"
index cdddfac..03e4261 100644 (file)
@@ -270,6 +270,7 @@ d_ldbl_dig='undef'
 d_link='undef'
 d_llseek='undef'
 d_localtime_r='undef'
+d_localtime_r_needs_tzset='undef'
 d_locconv='undef'
 d_lockf='undef'
 d_longdbl='undef'
diff --git a/handy.h b/handy.h
index 8586a25..0aa2b78 100644 (file)
--- a/handy.h
+++ b/handy.h
@@ -175,7 +175,7 @@ typedef U64TYPE U64;
 #endif
 
 /* HMB H.Merijn Brand - a placeholder for preparing Configure patches */
-#if defined(HAS_MALLOC_SIZE) && defined(HAS_SNPRINTF) && defined(HAS_C99_VARIADIC_MACROS)
+#if defined(HAS_MALLOC_SIZE) && defined(LOCALTIME_R_NEEDS_TZSET)
 /* Not (yet) used at top level, but mention them for metaconfig */
 #endif
 
index 99b41e0..d194b8b 100644 (file)
  *     This symbol, if defined, indicates that the localtime_r routine
  *     is available to localtime re-entrantly.
  */
+/* LOCALTIME_R_NEEDS_TZSET:
+ *     Many libc's localtime_r implementations do not call tzset,
+ *     making them differ from localtime(), and making timezone
+ *     changes using $ENV{TZ} without explicitly calling tzset
+ *     impossible. This symbol makes us call tzset before localtime_r
+ */
 /* LOCALTIME_R_PROTO:
  *     This symbol encodes the prototype of localtime_r.
  *     It is zero if d_localtime_r is undef, and one of the
  *     is defined.
  */
 /*#define HAS_LOCALTIME_R         / **/
+/*#define LOCALTIME_R_NEEDS_TZSET         / **/
 #define LOCALTIME_R_PROTO 0       /**/
 
 /* HAS_LONG_DOUBLE:
index 5709812..0281671 100644 (file)
  *     This symbol, if defined, indicates that the localtime_r routine
  *     is available to localtime re-entrantly.
  */
+/* LOCALTIME_R_NEEDS_TZSET:
+ *     Many libc's localtime_r implementations do not call tzset,
+ *     making them differ from localtime(), and making timezone
+ *     changes using $ENV{TZ} without explicitly calling tzset
+ *     impossible. This symbol makes us call tzset before localtime_r
+ */
 /* LOCALTIME_R_PROTO:
  *     This symbol encodes the prototype of localtime_r.
  *     It is zero if d_localtime_r is undef, and one of the
  *     is defined.
  */
 /*#define HAS_LOCALTIME_R         / **/
+/*#define LOCALTIME_R_NEEDS_TZSET         / **/
 #define LOCALTIME_R_PROTO 0       /**/
 
 /* HAS_LONG_DOUBLE:
index 8697741..08d181b 100644 (file)
@@ -277,6 +277,7 @@ d_lchown='undef'
 d_ldbl_dig='define'
 d_link='define'
 d_localtime_r='undef'
+d_localtime_r_needs_tzset='undef'
 d_locconv='define'
 d_lockf='undef'
 d_longdbl='define'
index 01c6ad2..b1d6c71 100755 (executable)
@@ -212,6 +212,7 @@ d_ldbl_dig='undef'
 d_libm_lib_version='undef'
 d_link='undef'
 d_localtime_r='undef'
+d_localtime_r_needs_tzset='undef'
 d_locconv='undef'
 d_lockf='undef'
 d_longdbl='undef'
index e2198d5..cd2dca4 100644 (file)
@@ -270,6 +270,7 @@ d_ldbl_dig='define'
 d_libm_lib_version='undef'
 d_link='define'
 d_localtime_r='undef'
+d_localtime_r_needs_tzset='undef'
 d_locconv='define'
 d_lockf='undef'
 d_longdbl='define'
index 342dc48..32e4eea 100644 (file)
@@ -269,6 +269,7 @@ d_ldbl_dig='define'
 d_libm_lib_version='undef'
 d_link='define'
 d_localtime_r='undef'
+d_localtime_r_needs_tzset='undef'
 d_locconv='define'
 d_lockf='undef'
 d_longdbl='undef'
index 90704f0..8f45dd0 100644 (file)
@@ -270,6 +270,7 @@ d_ldbl_dig='define'
 d_libm_lib_version='undef'
 d_link='define'
 d_localtime_r='undef'
+d_localtime_r_needs_tzset='undef'
 d_locconv='define'
 d_lockf='undef'
 d_longdbl='define'
index 3b4f6d4..0fbc876 100644 (file)
@@ -270,6 +270,7 @@ d_ldbl_dig='define'
 d_libm_lib_version='undef'
 d_link='define'
 d_localtime_r='undef'
+d_localtime_r_needs_tzset='undef'
 d_locconv='define'
 d_lockf='undef'
 d_longdbl='define'
index 74bdcfc..8549af7 100644 (file)
@@ -270,6 +270,7 @@ d_ldbl_dig='define'
 d_libm_lib_version='undef'
 d_link='define'
 d_localtime_r='undef'
+d_localtime_r_needs_tzset='undef'
 d_locconv='define'
 d_lockf='undef'
 d_longdbl='define'
index fc0b415..9081c14 100644 (file)
  *     This symbol, if defined, indicates that the localtime_r routine
  *     is available to localtime re-entrantly.
  */
+/* LOCALTIME_R_NEEDS_TZSET:
+ *     Many libc's localtime_r implementations do not call tzset,
+ *     making them differ from localtime(), and making timezone
+ *     changes using $ENV{TZ} without explicitly calling tzset
+ *     impossible. This symbol makes us call tzset before localtime_r
+ */
 /* LOCALTIME_R_PROTO:
  *     This symbol encodes the prototype of localtime_r.
  *     It is zero if d_localtime_r is undef, and one of the
  *     is defined.
  */
 /*#define HAS_LOCALTIME_R         /**/
+/*#define LOCALTIME_R_NEEDS_TZSET         /**/
 #define LOCALTIME_R_PROTO 0       /**/
 
 /* HAS_LONG_DOUBLE:
index 3a38692..ab1bc33 100644 (file)
  *     This symbol, if defined, indicates that the localtime_r routine
  *     is available to localtime re-entrantly.
  */
+/* LOCALTIME_R_NEEDS_TZSET:
+ *     Many libc's localtime_r implementations do not call tzset,
+ *     making them differ from localtime(), and making timezone
+ *     changes using $ENV{TZ} without explicitly calling tzset
+ *     impossible. This symbol makes us call tzset before localtime_r
+ */
 /* LOCALTIME_R_PROTO:
  *     This symbol encodes the prototype of localtime_r.
  *     It is zero if d_localtime_r is undef, and one of the
  *     is defined.
  */
 /*#define HAS_LOCALTIME_R         /**/
+/*#define LOCALTIME_R_NEEDS_TZSET         /**/
 #define LOCALTIME_R_PROTO 0       /**/
 
 /* HAS_LONG_DOUBLE:
index d22a0b0..33e10cc 100644 (file)
  *     This symbol, if defined, indicates that the localtime_r routine
  *     is available to localtime re-entrantly.
  */
+/* LOCALTIME_R_NEEDS_TZSET:
+ *     Many libc's localtime_r implementations do not call tzset,
+ *     making them differ from localtime(), and making timezone
+ *     changes using $ENV{TZ} without explicitly calling tzset
+ *     impossible. This symbol makes us call tzset before localtime_r
+ */
 /* LOCALTIME_R_PROTO:
  *     This symbol encodes the prototype of localtime_r.
  *     It is zero if d_localtime_r is undef, and one of the
  *     is defined.
  */
 /*#define HAS_LOCALTIME_R         /**/
+/*#define LOCALTIME_R_NEEDS_TZSET         /**/
 #define LOCALTIME_R_PROTO 0       /**/
 
 /* HAS_LONG_DOUBLE:
index f1d234f..6e443d2 100644 (file)
  *     This symbol, if defined, indicates that the localtime_r routine
  *     is available to localtime re-entrantly.
  */
+/* LOCALTIME_R_NEEDS_TZSET:
+ *     Many libc's localtime_r implementations do not call tzset,
+ *     making them differ from localtime(), and making timezone
+ *     changes using $ENV{TZ} without explicitly calling tzset
+ *     impossible. This symbol makes us call tzset before localtime_r
+ */
 /* LOCALTIME_R_PROTO:
  *     This symbol encodes the prototype of localtime_r.
  *     It is zero if d_localtime_r is undef, and one of the
  *     is defined.
  */
 /*#define HAS_LOCALTIME_R         /**/
+/*#define LOCALTIME_R_NEEDS_TZSET         /**/
 #define LOCALTIME_R_PROTO 0       /**/
 
 /* HAS_LONG_DOUBLE:
index 298fe41..b3e391d 100644 (file)
  *     This symbol, if defined, indicates that the localtime_r routine
  *     is available to localtime re-entrantly.
  */
+/* LOCALTIME_R_NEEDS_TZSET:
+ *     Many libc's localtime_r implementations do not call tzset,
+ *     making them differ from localtime(), and making timezone
+ *     changes using $ENV{TZ} without explicitly calling tzset
+ *     impossible. This symbol makes us call tzset before localtime_r
+ */
 /* LOCALTIME_R_PROTO:
  *     This symbol encodes the prototype of localtime_r.
  *     It is zero if d_localtime_r is undef, and one of the
  *     is defined.
  */
 /*#define HAS_LOCALTIME_R         /**/
+/*#define LOCALTIME_R_NEEDS_TZSET         /**/
 #define LOCALTIME_R_PROTO 0       /**/
 
 /* HAS_LONG_DOUBLE: