changeset 14715:0bb2443dcc6d

(LOCALTIME_CACHE): Also define if localtime mishandles unsetting TZ. This works around a localtime bug in mips-dec-ultrix.
author Richard M. Stallman <rms@gnu.org>
date Wed, 28 Feb 1996 23:25:27 +0000
parents c270d3de1ff2
children f70d94fe685f
files configure.in
diffstat 1 files changed, 19 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/configure.in	Wed Feb 28 21:34:25 1996 +0000
+++ b/configure.in	Wed Feb 28 23:25:27 1996 +0000
@@ -3,7 +3,7 @@
 dnl 	autoconf
 dnl in the directory containing this script.
 dnl
-dnl  Copyright (C) 1994, 1995 Free Software Foundation, Inc.
+dnl  Copyright (C) 1994, 1995, 1996 Free Software Foundation, Inc.
 dnl  
 dnl  This file is part of GNU Emacs.
 dnl  
@@ -1375,16 +1375,31 @@
 #if STDC_HEADERS
 # include <stdlib.h>
 #endif
+extern char **environ;
+unset_TZ ()
+{
+  char **from, **to;
+  for (to = from = environ; (*to = *from); from++)
+    if (! (to[0][0] == 'T' && to[0][1] == 'Z' && to[0][2] == '='))
+      to++;
+}
 main()
 {
   time_t now = time ((time_t *) 0);
-  int hour;
+  int hour_GMT0, hour_unset;
   if (putenv ("TZ=GMT0") != 0)
     exit (1);
-  hour = localtime (&now)->tm_hour;
+  hour_GMT0 = localtime (&now)->tm_hour;
+  unset_TZ ();
+  hour_unset = localtime (&now)->tm_hour;
   if (putenv ("TZ=PST8") != 0)
     exit (1);
-  exit (localtime (&now)->tm_hour == hour);
+  if (localtime (&now)->tm_hour == hour_GMT0)
+    exit (1);
+  unset_TZ ();
+  if (localtime (&now)->tm_hour != hour_unset)
+    exit (1);
+  exit (0);
 }], emacs_cv_localtime_cache=no, emacs_cv_localtime_cache=yes,
 [# If we have tzset, assume the worst when cross-compiling.
 emacs_cv_localtime_cache=yes])