about summary refs log tree commit diff
path: root/time/tzset.c
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>1996-12-08 08:01:13 +0000
committerUlrich Drepper <drepper@redhat.com>1996-12-08 08:01:13 +0000
commitf65fd747b440ae2d8a7481ecc50e668c5e4d0cc9 (patch)
treef64c3eeda0e9acc58b96c28ca852a014c822047f /time/tzset.c
parent42054ddb496798d9b936490cf0050f6619f86bc1 (diff)
downloadglibc-f65fd747b440ae2d8a7481ecc50e668c5e4d0cc9.tar.gz
glibc-f65fd747b440ae2d8a7481ecc50e668c5e4d0cc9.tar.xz
glibc-f65fd747b440ae2d8a7481ecc50e668c5e4d0cc9.zip
update from main archive 961207 cvs/libc-961208
Sun Dec  8 06:56:49 1996  Ulrich Drepper  <drepper@cygnus.com>

	* io/getwd.c: Use PATH_MAX not LOCAL_PATH_MAX.  Fix typo in
	comment.
	* stdlib/canonicalize.c: Correct bugs in last change.
	Patch by HJ Lu.

	* libio/Makefile (routines): Remove ioprims.
	(aux): Remove cleanup.
	Add IO_DEBUG option for .o files.
	* libio/cleanups.c: Removed.
	* libio/ioprims.c: Removed.
	* libio/filedoalloc.c: More updates from libg++-2.8b5.
	* libio/fileops.c: Likewise.
	* libio/genops.c: Likewise.
	* libio/iolibio.h: Likewise.
	* libio/iopopen.c: Likewise.
	* libio/iovsprintf.c: Likewise.
	* libio/iovsscanf.c: Likewise.
	* libio/libio.h: Likewise.
	* libio/libioP.h: Likewise.
	* libio/memstream.c: Likewise.
	* libio/strfile.h: Likewise.
	* libio/vasprintf.c: Likewise.
	* libio/vsnprintf.c: Likewise.

	* libio/stdio.h: Define P_tmpdir only is __USE_SVID.

	* manual/arith.texi: Change references to ANSI C to ISO C.
	* manual/conf.texi: Likewise.
	* manual/creature.texi: Likewise.
	* manual/ctype.texi: Likewise.
	* manual/errno.texi: Likewise.
	* manual/filesys.texi: Likewise.
	* manual/intro.texi. Likewise.
	* manual/io.texi: Likewise.
	* manual/lang.texi: Likewise.
	* manual/libc.texinfo: Likewise.
	* manual/locale.texi: Likewise.
	* manual/maint.texi: Likewise.
	* manual/mbyte.texi: Likewise.
	* manual/memory.texi: Likewise.
	* manual/process.texi: Likewise.
	* manual/process.texi: Likewise.
	* manual/search.texi: Likewise.
	* manual/setjmp.texi: Likewise.
	* manual/signal.texi: Likewise.
	* manual/startup.texi: Likewise.
	* manual/stdio.texi: Likewise.
	* manual/string.texi: Likewise.
	* manual/time.texi: Likewise.

	* manual/locale.texi: Remove description of LC_RESPONSE and add
	LC_MESSAGES.

	* Makefile (subdirs): Change malloc in $(malloc).
	* config.make.in: Add variable malloc which is initialized from
	@malloc@.
	* configure.in: Add new option --enable-new-malloc to use new
	malloc.  This is the default on Linux.
	* sysdeps/unix/sysv/linux/configure.in: Define malloc to new-malloc
	by default.
	* new-malloc/Makefile: New file.  Improved malloc implementation.
	* new-malloc/malloc.c: Likewise.
	* new-malloc/malloc.h: Likewise.
	* new-malloc/mallocbug.c: Likewise.
	* new-malloc/obstack.c: Likewise.
	* new-malloc/obstack.h: Likewise.
	* new-malloc/thread-m.h: Likewise.
	* time/Makefile: Compile ap.c with NO_MCHECK flag for now.
	* time/ap.c: Don't call mcheck if NO_MCHECK is defined.

	* resolv/Makefile: Add rule to rebuiild libresolv.so when libc.so
	changed.

	* stdio/feof.c: Update copyright.
	* stdio/stdio.h: Add field for lock to FILE structure.
	Add cast to *MAGIC constants to prevent warnings.

	* stdio-common/bug7.c: Correct test.  Stream must not be closed
	twice.

	* stdlib/Makefile (routines): Add secure-getenv.
	* stdlib/secure-getenv.c: New file.  __secure_getenv function
	moved to here from sysdeps/generic/getenv.c.  Otherwise an
	application cannot replace the getenv function in the libc.
	* sysdeps/generic/getenv.c: Remove __secure_getenv function.
	* sysdeps/stub/getenv.c: Remove __secure_getenv alias.

	* sysdeps/mach/libc-lock.h: Define__libc_mutex_lock to __mutex_lock.

	* sysdeps/posix/fdopen.c: Update copyright.  Don't use EXFUN.

	* time/test-tz.c: Comment fifth test out.  PROBLEM.

	* time/tzset.c: De-ANSI-declfy.
	(__tzset): Don't increment pointer tz when no DST information is
	given.

Sat Dec  7 23:47:54 1996  Ulrich Drepper  <drepper@cygnus.com>

	* sysdeps/mach/libc-lock.h [_LIBC]: Add definition of
	__libc_mutex_lock.
	Patch by Thomas Bushnell.

	* sysdeps/unix/sysv/linux/timebits.h: Load <asm/param.h> only
	if __USE_MISC.

	* sysdeps/unix/sysv/linux/Dist: Add llseek.c.

Sat Dec  7 12:18:56 1996  Ulrich Drepper  <drepper@cygnus.com>

	* time/strftime (%c format): Remove %Z from default string.
	Reported by Paul Eggert

	* io/getwd.c: Don't apply getcwd on user supplied buffer.
Diffstat (limited to 'time/tzset.c')
-rw-r--r--time/tzset.c89
1 files changed, 47 insertions, 42 deletions
diff --git a/time/tzset.c b/time/tzset.c
index e5b12f1e51..954cec2e87 100644
--- a/time/tzset.c
+++ b/time/tzset.c
@@ -1,22 +1,21 @@
 /* Copyright (C) 1991, 92, 93, 94, 95, 96 Free Software Foundation, Inc.
-This file is part of the GNU C Library.
+   This file is part of the GNU C Library.
 
-The GNU C Library is free software; you can redistribute it and/or
-modify it under the terms of the GNU Library General Public License as
-published by the Free Software Foundation; either version 2 of the
-License, or (at your option) any later version.
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Library General Public License as
+   published by the Free Software Foundation; either version 2 of the
+   License, or (at your option) any later version.
 
-The GNU C Library is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-Library General Public License for more details.
+   The GNU C Library is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+   Library General Public License for more details.
 
-You should have received a copy of the GNU Library General Public
-License along with the GNU C Library; see the file COPYING.LIB.  If
-not, write to the Free Software Foundation, Inc., 675 Mass Ave,
-Cambridge, MA 02139, USA.  */
+   You should have received a copy of the GNU Library General Public
+   License along with the GNU C Library; see the file COPYING.LIB.  If not,
+   write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+   Boston, MA 02111-1307, USA.  */
 
-#include <ansidecl.h>
 #include <ctype.h>
 #include <stddef.h>
 #include <stdio.h>
@@ -25,16 +24,16 @@ Cambridge, MA 02139, USA.  */
 #include <time.h>
 
 /* Defined in mktime.c.  */
-extern CONST unsigned short int __mon_yday[2][13];
+extern const unsigned short int __mon_yday[2][13];
 
 #define NOID
 #include "tzfile.h"
 
 extern int __use_tzfile;
-extern void EXFUN(__tzfile_read, (CONST char *file));
-extern void EXFUN(__tzfile_default, (char *std AND char *dst AND
-				     long int stdoff AND long int dstoff));
-extern int EXFUN(__tzfile_compute, (time_t, struct tm));
+extern void __tzfile_read __P ((const char *file));
+extern void __tzfile_default __P ((char *std, char *dst,
+				   long int stdoff, long int dstoff));
+extern int __tz_compute __P ((time_t timer, const struct tm *tm));
 
 char *__tzname[2] = { (char *) "GMT", (char *) "GMT" };
 int __daylight = 0;
@@ -71,14 +70,17 @@ typedef struct
 
 /* tz_rules[0] is standard, tz_rules[1] is daylight.  */
 static tz_rule tz_rules[2];
+
+
+static int compute_change __P ((tz_rule *rule, int year));
 
 int __tzset_run = 0;
 
 /* Interpret the TZ envariable.  */
 void
-DEFUN_VOID(__tzset)
+__tzset ()
 {
-  register CONST char *tz;
+  register const char *tz;
   register size_t l;
   unsigned short int hh, mm, ss;
   unsigned short int whichrule;
@@ -86,13 +88,13 @@ DEFUN_VOID(__tzset)
   /* Free old storage.  */
   if (tz_rules[0].name != NULL && *tz_rules[0].name != '\0')
     {
-      free((PTR) tz_rules[0].name);
+      free((void *) tz_rules[0].name);
       tz_rules[0].name = NULL;
     }
   if (tz_rules[1].name != NULL && *tz_rules[1].name != '\0' &&
       tz_rules[1].name != tz_rules[0].name)
     {
-      free((PTR) tz_rules[1].name);
+      free((void *) tz_rules[1].name);
       tz_rules[1].name = NULL;
     }
 
@@ -125,8 +127,8 @@ DEFUN_VOID(__tzset)
       tz_rules[1].name = (char *) malloc(len);
       if (tz_rules[1].name == NULL)
 	return;
-      memcpy ((PTR) tz_rules[0].name, UTC, len);
-      memcpy ((PTR) tz_rules[1].name, UTC, len);
+      memcpy ((void *) tz_rules[0].name, UTC, len);
+      memcpy ((void *) tz_rules[1].name, UTC, len);
       tz_rules[0].type = tz_rules[1].type = J0;
       tz_rules[0].m = tz_rules[0].n = tz_rules[0].d = 0;
       tz_rules[1].m = tz_rules[1].n = tz_rules[1].d = 0;
@@ -157,7 +159,7 @@ DEFUN_VOID(__tzset)
     }
 
   {
-    char *n = realloc ((PTR) tz_rules[0].name, l + 1);
+    char *n = realloc ((void *) tz_rules[0].name, l + 1);
     if (n != NULL)
       tz_rules[0].name = n;
   }
@@ -183,8 +185,8 @@ DEFUN_VOID(__tzset)
     case 3:
       break;
     }
-  tz_rules[0].offset *= (min(ss, 59) + (min(mm, 59) * 60) +
-			 (min(hh, 23) * 60 * 60));
+  tz_rules[0].offset *= (min (ss, 59) + (min (mm, 59) * 60) +
+			 (min (hh, 23) * 60 * 60));
 
   for (l = 0; l < 3; ++l)
     {
@@ -197,25 +199,25 @@ DEFUN_VOID(__tzset)
   /* Get the DST timezone name (if any).  */
   if (*tz != '\0')
     {
-      char *n = malloc (strlen(tz) + 1);
+      char *n = malloc (strlen (tz) + 1);
       if (n != NULL)
 	{
 	  tz_rules[1].name = n;
-	  if (sscanf(tz, "%[^0-9,+-]", tz_rules[1].name) != 1 ||
-	      (l = strlen(tz_rules[1].name)) < 3)
+	  if (sscanf (tz, "%[^0-9,+-]", tz_rules[1].name) != 1 ||
+	      (l = strlen (tz_rules[1].name)) < 3)
 	    {
 	      free (n);
 	      tz_rules[1].name = (char *) "";
 	      goto done_names;	/* Punt on name, set up the offsets.  */
 	    }
-	  n = realloc ((PTR) tz_rules[1].name, l + 1);
+	  n = realloc ((void *) tz_rules[1].name, l + 1);
 	  if (n != NULL)
 	    tz_rules[1].name = n;
+
+	  tz += l;
 	}
     }
 
-  tz += l;
-
   /* Figure out the DST offset from GMT.  */
   if (*tz == '-' || *tz == '+')
     tz_rules[1].offset = *tz++ == '-' ? 1L : -1L;
@@ -234,8 +236,8 @@ DEFUN_VOID(__tzset)
     case 2:
       ss = 0;
     case 3:
-      tz_rules[1].offset *= (min(ss, 59) + (min(mm, 59) * 60) +
-			     (min(hh, 23) * (60 * 60)));
+      tz_rules[1].offset *= (min (ss, 59) + (min (mm, 59) * 60) +
+			     (min (hh, 23) * (60 * 60)));
       break;
     }
   for (l = 0; l < 3; ++l)
@@ -338,7 +340,7 @@ DEFUN_VOID(__tzset)
 	    }
 	  for (l = 0; l < 3; ++l)
 	    {
-	      while (isdigit(*tz))
+	      while (isdigit (*tz))
 		++tz;
 	      if (l < 2 && *tz == ':')
 		++tz;
@@ -361,7 +363,7 @@ DEFUN_VOID(__tzset)
 size_t __tzname_cur_max;
 
 long int
-DEFUN_VOID(__tzname_max)
+__tzname_max ()
 {
   if (! __tzset_run)
     __tzset ();
@@ -374,7 +376,9 @@ DEFUN_VOID(__tzname_max)
    put it in RULE->change, saving YEAR in RULE->computed_for.
    Return nonzero if successful, zero on failure.  */
 static int
-DEFUN(compute_change, (rule, year), tz_rule *rule AND int year)
+compute_change (rule, year)
+     tz_rule *rule;
+     int year;
 {
   register time_t t;
   int y;
@@ -410,7 +414,7 @@ DEFUN(compute_change, (rule, year), tz_rule *rule AND int year)
       /* Mm.n.d - Nth "Dth day" of month M.  */
       {
 	register int i, d, m1, yy0, yy1, yy2, dow;
-	register CONST unsigned short int *myday =
+	register const unsigned short int *myday =
 	  &__mon_yday[__isleap (year)][rule->m];
 
 	/* First add SECSPERDAY for each day in months before M.  */
@@ -456,8 +460,9 @@ DEFUN(compute_change, (rule, year), tz_rule *rule AND int year)
    and set `__tzname', `__timezone', and `__daylight' accordingly.
    Return nonzero on success, zero on failure.  */
 int
-DEFUN(__tz_compute, (timer, tm),
-      time_t timer AND const struct tm *tm)
+__tz_compute (timer, tm)
+     time_t timer;
+     const struct tm *tm;
 {
   if (! __tzset_run)
     __tzset ();