From 8d57beeab10d2afd72e2e3bc6b1ad4695b791955 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Thu, 23 Jan 1997 04:24:20 +0000 Subject: update from main archive 970121 Thu Jan 23 04:06:42 1997 Ulrich Drepper * Make-dist (.PHONY: dist): Remove duplicate declaration. (README): Depend on version.h not version.c. * Makefile (README): Depend on version.h not version.c. * Makeconfig (inst_libdir, inst_slibdir, inst_includedir, inst_datadir, inst_zonedir, inst_localedir, inst_i18ndir, inst_bindir, inst_sbindir, inst_infodir, inst_sysconfdir): New variables. Same as variable withough inst_ but prepended with $(install_root). (localtime-time): Use $(inst_sysconfdir) not $(sysconfdir). * Makefile (install-others): Use $(inst_includedir). (gnu/stabs.h, gnu/lib-names.h): Use $(inst_includedir). * Makerules (tons of install rules): Use inst_% variables. * elf/Makefile: Likewise. * hurd/Makefile: Likewise. * intl/Makefile: Likewise. * manual/Makefile: Likewise. * po/Makefile: Likewise. * sunrpc/Makefile: Likewise. * sysdeps/mach/hurd/Makefile: Likewise. * sysdeps/standalone/i386/force_cpu386/Makefile: Likewise. * time/Makefile: Likewise. * config.make.in: Revert patch from Sat Jan 18 22:15:26 1997, leave install_root in place. * gnu-versions.h (_GNU_GETOPT_INTERFACE_VERSION): Define to 2. * posix/getopt.c (GETOPT_INTERFACE_VERSION): Define to 2. * posix/getopt1.c (GETOPT_INTERFACE_VERSION): Define to 2. * elf/Makefile [yes==$(has-ldconfig)]: Correct dependencies of ldconfig. (CFLAGS-dl-load.c): New variable, avoid gcc warning. * sysdeps/mach/hurd/configure.in: Add _LIBC_REENTRENT to DEFINES. * sysdeps/mach/hurd/getdents.c: Update copyright. De-ANSI-declfy. * sysdeps/stub/getdents.c: Likewise. Correct return value. * sysdeps/unix/getdents.c: Likewise. * sysdeps/unix/sysv/getdents.c: Likewise. * sysdeps/unix/readdir.c: Update copyright. * sysdeps/unix/bsd/sony/newsos4/Makefile: Correct ifeq arguments. * sysdeps/unix/bsd/sun/sunos4/Makefile: Likewise. * sysdeps/unix/sysv/Makefile: Likewise. * sysdeps/unix/sysv/linux/Makefile: Likewise. * sysdeps/unix/sysv/linux/alpha/Makefile: Likewise. * sysdeps/unix/sysv/linux/i386/Makefile: Likewise. * sysdeps/unix/sysv/linux/Dist: Don't distribute kernel_termios.h, but sys/kernel_termios.h. * sysdeps/unix/sysv/linux/alpha/Dist: Likewise. * sysdeps/unix/sysv/linux/Makefile [$(subdir)==termios] (sysdep_headers): Add sys/kernel_termios.h. * sysdeps/unix/sysv/linux/kernel_termios.h: Moved to... * sysdeps/unix/sysv/linux/sys/kernel_termios.h: ...here. * sysdeps/unix/sysv/linux/sys/tcgetattr.c: Use __kernel_termios and __KERNEL_NCCS instead of kernel_termios and KERNEL_NCCS resp. * sysdeps/unix/sysv/linux/alpha/ioctls.h: New file. * sysdeps/unix/sysv/linux/getdents.c: Correct problems with alignment. * sysdeps/unix/sysv/linux/alpha/syscalls.list: Remove getdents. Reported by Eirik Fuller . * time/Banner: Removed. Wrong and unnecessary information. It's now in... * time/README: New file. * time/Makefile (distribute): Remove Banner, add README. Wed Jan 22 13:19:56 1997 Richard Henderson * sysdeps/unix/sysv/linux/alpha/ioperm.c (platforms): Add Sable. (init_iosys): Recognize /etc/alpha_systype as a four-tuple for the purpose of supporting brand new systems. (*): The type of iosys variables should be iosys_t. 1997-01-22 Paul Eggert * strftime.c (_strftime_copytm): New function, to work around Solaris 2.5 tzset bug. Wed Jan 22 23:05:14 1997 Ulrich Drepper * sysdeps/mach/hurd/vdprintf.c: Complete de-ANSI-declfication. * sysdeps/posix/pipestream.c (writedecl): Fix typo. Reported by Marcus G. Daniels . Wed Jan 22 13:58:56 1997 Andreas Jaeger * elf/Makefile (CFLAGS-dl-load.c): New Variable to keep gcc silent since name_copy is initialized. Wed Jan 22 16:58:12 1997 Ulrich Drepper * stdio-common/Makefile (tests): Remove scanf11. * stdio-common/scanf11.c: Removed. * stdio-common/vfscanf.c Revert patch of Thu Jan 16 23:39:25 1997. Although the Corrigendum 1 describes the result as implemented the even more recent Amendement 1 seconds the position of ISO C:1990 where the %n directive has no effect on the assignment count. * stdio-common/bug10.c: Likewise. * stdio-common/scanf1.c: Likewise. * stdio-common/scanf3.c: Likewise. * stdio-common/scanf10.c: Likewise. * stdio-common/tstdiomisc.c: Likewise. * new-malloc/obstack.h: Don't define malloc using bcopy if malloc is not available. This leads to problems since bcopy does not return a value. Instead define _obstack_memcpy based on memcpy or bcopy. This name isn't used outside obstack.h and so no problems from using the memcpy function in a file including obstack.h can result. Reported by Martin Trapp . Tue Jan 21 18:35:55 1997 Andreas Schwab * misc/regexp.h (compile): Fix typos. Tue Jan 21 01:01:59 1997 Andreas Schwab * sysdeps/unix/sysv/linux/sys/procfs.h (struct elf_prpsinfo): Fix type of pr_{pid,ppid,pgrp,sid} fields. * sysdeps/unix/sysv/linux/alpha/sys/procfs.h (struct elf_prpsinfo): Likewise. --- time/Banner | 1 - time/Makefile | 35 ++++++++++++++++++----------------- time/README | 28 ++++++++++++++++++++++++++++ time/strftime.c | 27 ++++++++++++++++++++++++++- 4 files changed, 72 insertions(+), 19 deletions(-) delete mode 100644 time/Banner create mode 100644 time/README (limited to 'time') diff --git a/time/Banner b/time/Banner deleted file mode 100644 index eb972db206..0000000000 --- a/time/Banner +++ /dev/null @@ -1 +0,0 @@ -tzcode1997a and tzdata1997a by Arthur David Olson et. al. diff --git a/time/Makefile b/time/Makefile index 21ad62e071..7f8513cc6a 100644 --- a/time/Makefile +++ b/time/Makefile @@ -24,7 +24,7 @@ subdir := time headers := time.h sys/time.h sys/timeb.h timebits.h distribute := tzfile.h private.h scheck.c ialloc.c yearistype \ iso3166.tab zone.tab tzselect.ksh checktab.awk \ - Banner + README extra-objs = scheck.o ialloc.o $(tzfiles:%=z.%) routines := offtime asctime clock ctime ctime_r difftime \ @@ -65,22 +65,22 @@ endef # Make these absolute file names. installed-localtime-file := $(firstword $(filter /%,$(localtime-file)) \ - $(addprefix $(zonedir)/, \ + $(addprefix $(inst_zonedir)/, \ $(localtime-file))) installed-posixrules-file := $(firstword $(filter /%,$(posixrules-file)) \ - $(addprefix $(zonedir)/, \ + $(addprefix $(inst_zonedir)/, \ $(posixrules-file))) ifeq ($(cross-compiling),no) # Don't try to install the zoneinfo files since we can't run zic. -install-others = $(addprefix $(zonedir)/,$(zonenames) \ - $(zonenames:%=posix/%) \ - $(zonenames:%=right/%)) \ +install-others = $(addprefix $(inst_zonedir)/,$(zonenames) \ + $(zonenames:%=posix/%) \ + $(zonenames:%=right/%)) \ $(installed-localtime-file) $(installed-posixrules-file) endif ifeq ($(have-ksh),yes) -install-others += $(zonedir)/iso3166.tab $(zonedir)/zone.tab +install-others += $(inst_zonedir)/iso3166.tab $(inst_zonedir)/zone.tab install-bin += tzselect endif @@ -115,23 +115,23 @@ echo-zonenames: @echo 'Known zones: $(zonenames)' -# Although $(zonedir) gets compiled into zic, it is useful to always -# specify it with -d on the command line so that it can be overridden on -# the command line of `make install' (e.g., "make install prefix=/foo"). -zic-cmd = $(built-program-cmd) -d $(zonedir) +# We have to use `-d $(inst_zonedir)' to explictly tell zic where to +# place the output files although $(zonedir) is compiled in. But the +# user might have set $(install_root) on the command line of `make install'. +zic-cmd = $(built-program-cmd) -d $(inst_zonedir) tzcompile = $(zic-cmd)$(target-zone-flavor) -L $(word 3,$^) \ -y $(dir $(word 4,$^))$(notdir $(word 4,$^)) $< # The source files specify the zone names relative to the -d directory, -# so for the posix/ and right/ flavors we need to pass -d $(zonedir)/posix +# so for the posix/ and right/ flavors we need to pass -d $(inst_zonedir)/posix # and the like. This magic extracts /posix or /right if it's the first -# component after $(zonedir) in the target name $@. +# component after $(inst_zonedir) in the target name $@. target-zone-flavor = $(filter /posix /right, \ /$(firstword $(subst /, , \ - $(patsubst $(zonedir)/%,%,$@)))) + $(patsubst $(inst_zonedir)/%,%,$@)))) ifdef localtime -$(installed-localtime-file): $(zonedir)/$(localtime) $(objpfx)zic +$(installed-localtime-file): $(inst_zonedir)/$(localtime) $(objpfx)zic $(make-target-directory) if test -r $@; then \ echo Site timezone NOT reset to Factory.; \ @@ -142,7 +142,7 @@ $(installed-localtime-file): $(zonedir)/$(localtime) $(objpfx)zic fi endif ifdef posixrules -$(installed-posixrules-file): $(zonedir)/$(posixrules) $(objpfx)zic +$(installed-posixrules-file): $(inst_zonedir)/$(posixrules) $(objpfx)zic $(zic-cmd) -p $(posixrules) endif @@ -179,4 +179,5 @@ $(objpfx)tzselect: tzselect.ksh chmod 555 $@.new mv -f $@.new $@ -$(addprefix $(zonedir)/,iso3166.tab zone.tab): $(zonedir)/%: %; $(do-install) +$(addprefix $(inst_zonedir)/,iso3166.tab zone.tab): $(inst_zonedir)/%: % + $(do-install) diff --git a/time/README b/time/README new file mode 100644 index 0000000000..3bd4e306ed --- /dev/null +++ b/time/README @@ -0,0 +1,28 @@ +The sources files + `zic.c' + `zdump.c' + `tzselect.ksh' + `checktab.awk' +files come from the tzcode1997a package by Arthur David Olsen et.al. + +The file + `africa' + `antarctica' + `asia' + `australasia' + `europe' + `northamerica' + `southamerica' + `pacificnew' + `etcetera' + `factory' + `backward' + `systemv' + `solar87' + `solar88' + `solar89' + `iso3166.tab' + `zone.tab' + `leapseconds' + `yearistype' +files come from the tzdata1997a package by Arthur David Olsen et.al. diff --git a/time/strftime.c b/time/strftime.c index 56abd45240..ca3563c072 100644 --- a/time/strftime.c +++ b/time/strftime.c @@ -1,4 +1,4 @@ -/* Copyright (C) 1991, 92, 93, 94, 95, 96 Free Software Foundation, Inc. +/* Copyright (C) 1991, 92, 93, 94, 95, 96, 97 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -328,6 +328,31 @@ static char const month_name[][10] = }; #endif + +#if !defined _LIBC && HAVE_TZNAME && HAVE_TZSET + /* Solaris 2.5 tzset sometimes modifies the storage returned by localtime. + Work around this bug by copying *tp before it might be munged. */ + size_t _strftime_copytm __P ((char *, size_t, const char *, + const struct tm *)); + size_t + strftime (s, maxsize, format, tp) + char *s; + size_t maxsize; + const char *format; + const struct tm *tp; + { + struct tm tmcopy; + tmcopy = *tp; + return _strftime_copytm (s, maxsize, format, &tmcopy); + } +# ifdef strftime +# undef strftime +# endif +# define strftime(S, Maxsize, Format, Tp) \ + _strftime_copytm ((S), (Maxsize), (Format), (Tp)) +#endif + + /* Write information from TP into S according to the format string FORMAT, writing no more that MAXSIZE characters (including the terminating '\0') and returning number of -- cgit 1.4.1