summary refs log tree commit diff
path: root/time
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>1997-12-22 20:53:38 +0000
committerUlrich Drepper <drepper@redhat.com>1997-12-22 20:53:38 +0000
commit9756dfe161e523a5d543fb2b1f33a7e682a36342 (patch)
tree88c91bf4a7cb829a3aeb1c0c5d2d529dfaa85b85 /time
parentbd355af04fc1df69d4ebb6733be170b9baf0dfb5 (diff)
downloadglibc-9756dfe161e523a5d543fb2b1f33a7e682a36342.tar.gz
glibc-9756dfe161e523a5d543fb2b1f33a7e682a36342.tar.xz
glibc-9756dfe161e523a5d543fb2b1f33a7e682a36342.zip
1997-12-22 18:10  Ulrich Drepper  <drepper@cygnus.com>

	* configure.in: Stop with error if --disable-static is used when
	the shared lib uses this library.

	* gen-FAQ.pl: I've perl installed in /usr/bin.

	* include/bits/xopen_lim.h (STREAM_MAX): Define using FOPEN_MAX.

	Fix Unix98 conformance problems in the headers.
	* catgets/nl_types.h: Define nl_item.
	* grp/grp.h: Define gid_t.
	* include/features.h [_POSIX_C_SOURCE]: Don't define _XOPEN_SOURCE.
	* include/nl_types.h: New file.
	* include/ulimit.h: New file.
	* io/fcntl.h: Include sys/stat.h for Unix98.  Don't define locking
	constants in POSIX mode.
	* io/utime.h: Get definition for time_t.
	* io/sys/stat.h: Define dev_t, gid_t, ino_t, mode_t, nlink_t, off_t,
	uid_t, pid_t.  Define D_IFLNK and S_IFSOCK only if !__USE_UNIX98.
	* libio/stdio.h: Define va_list.  Make snprintf also available is
	__USE_UNIX98.  Declare getopt function and variables.
	* locale/langinfo.h: Include nl_types.h.  Don't define nl_item.
	Define CODESET, CRNCYSTR, RADIXCHAR and THOUSEP as aliases.
	* math/math.h: Defined M_* constants as double for Unix98 mode.
	* posix/fnmatch.h: Pretty print.  Define FNM_NOSYS.
	* posix/glob.h: Pretty print.  Define GLOB_NOSYS.
	* posix/regex.h: Define REG_NOSYS.
	* posix/wordexp.h: Define WRDE_NOSYS.
	* posix/unistd.h: Define _POSIX2_VERSION.  Define _XOPEN_VERSION to
	500 for Unix98.
	* posix/sys/types.h: Alloc dev_t, mode_t, nlink_t to be defined
	somewhere else as well.  Define clock_t for Unix98.
	* posix/sys/wait.h: Define pid_t.
	* pwd/pwd.h: Define gid_t, uid_t.
	* resource/Makefile (headers): Add ulimit.h.
	* resource/ulimit.h: New file.
	* sysdeps/generic/ulimit.c: Define according to X/Open using varargs
	instead of second argument.
	* sysdeps/unix/bsd/ulimit.c: Likewise.  Use UL_* constants.
	* sysdeps/unix/sysv/linux/ulimit.c: Likewise.
	* resource/sys/resource.h: Don't declare ulimit here, include ulimit.h.
	* signal/signal.h: Define pid_t.
	* string/string.h: Don't declare BSD string functions in POSIX mode.
	* sysdeps/generic/bits/confname.h: Define _PC_VDISABLE.  Add
	_SC_XOPEN_LEGACY, _SC_XOPEN_REALTIME and _SC_XOPEN_REALTIME_THREADS.
	* sysdeps/unix/sysv/linux/bits/termios.h: Clean namespace for Unix98
	and POSIX.

	* inet/test_ifindex.c: Change test so that it does not fail for
	interface aliases.

	* locale/programs/locale.c (show_info): Use correct cast sequence
	for 64bit machines.

	* malloc/malloc.c: __malloc_initialized now signals three states:
	uninitialized, initializing, initialized.  Used in mcheck.
	* malloc/mcheck.c (mabort): Add '\n' to messages.
	(mcheck): Allow installation when malloc is uninitialized or is
	just initializing.

	* manual/memory.texi: Explain mtrace output a bit more.

	* math/libm-test.c: Add more epsilons.

	* misc/regexp.h (compile): Remove __ prefix from parameter names.

	* nis/nss_nis/nis-ethers.c (internal_nis_getetherent_r): Use strncpy
	instead of strcpy for security.
	* nis/nss_nis/nis-proto.c (internal_nis_getprotoent_r): Likewise.
	* nis/nss_nis/nis-rpc.c (internal_nis_getrpcent_r): Likewise.
	* nis/nss_nis/nis-service.c (internal_nis_getservent_r): Likewise.

	* nss/digits_dots.c: Pretty print.

	* posix/getconf.c (vars): Add symbols for programming environment
	recognition.  Recognize --version.

	* sysdeps/generic/sysconf.c: Handle _SC_XBS5_*, _SC_XOPEN_LEGACY,
	_SC_XOPEN_REALTIME, and _SC_XOPEN_REALTIME_THREADS.
	* sysdeps/posix/sysconf.c: Handle _SC_XBS5_* and new _XOPEN_* symbols.

	* sysdeps/generic/bits/stdio_lim.h: Implement handling of
	__need_FOPEN_MAX.
	* sysdeps/unix/sysv/linux/stdio_lim.h.in: Likewise.
	* sysdeps/posix/mk-stdiolim.c: Change to generate file handling
	__need_FOPEN_MAX.

	* sysdeps/unix/sysv/linux/Dist: Add rt_sigpending.c.
	* sysdeps/unix/sysv/linux/rt_sigpending.c: New file.

	* sysdeps/unix/sysv/linux/alpha/bits/types.h: Define __ipc_pid_t.
	* sysdeps/unix/sysv/linux/bits/types.h: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc64/bits/types.h: Likewise.
	* sysdeps/unix/sysv/linux/bits/msq.h: Use __ipc_pid_t.
	* sysdeps/unix/sysv/linux/bits/shm.h: Likewise.
	* sysdeps/unix/sysv/linux/mips/bits/types.h: New file.

	* sysdeps/wordsize-32/inttypes.h: Add SCNd8, SCNi8, SCNo8, SCNx8,
	SCNu*.
	* sysdeps/wordsize-64/inttypes.h: Likewise.

	* time/africa: Update from tzdata1997j.
	* time/antarctica: Likewise.
	* time/asia: Likewise.
	* time/australasia: Likewise.
	* time/backward: Likewise.
	* time/etcetera: Likewise.
	* time/europe: Likewise.
	* time/factory: Likewise.
	* time/northamerica: Likewise.
	* time/pacificnew: Likewise.
	* time/southamerica: Likewise.

	* time/tzfile.h: Update from tzcode1997h.
	* time/zic.c: Likewise.

	* wcsmbs/wchar.h: Get definition of FILE.  Define `struct tm' tag.
	Declare wcwidth and wcswidth for __USE_XOPEN.  Declare the
	isw*() functions for Unix98.
	* wctype/towctrans.c: Define as __towctrans, make towctrans weak alias.
	* wctype/wctype.h: Declare isw*() functions also if __need_iswxxx
	is defined.

1997-12-21  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* locale/duplocale.c: Increase usage_count only if less than
	MAX_USAGE_COUNT.
	* locale/freelocale.c: Test usage_count against UNDELETABLE, not
	MAX_USAGE_COUNT.
	* locale/setlocale.c: Likewise.

1997-12-20  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* Makefile ($(inst_includedir)/gnu/stubs.h): Use a more direct
	dependency to make it easier to install it selectively.

	* Makerules (.SUFFIXES): Don't define any suffixes.

1997-12-20  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* sysdeps/generic/fstatfs64.c: Emulate using fstatfs.
	* sysdeps/generic/statfs64.c: Emulate using statfs.
	* sysdeps/generic/getrlimit64.c: Emulate using getrlimit.
	* sysdeps/generic/setrlimit64.c: Emulate using setrlimit.
	* sysdpes/generic/ftruncate64.c: New file.
	* sysdpes/generic/truncate64.c: New file.

	* sysdeps/generic/bits/stat.h: Add LFS support.
	* sysdeps/generic/bits/statfs.h: Likewise.

	* sysdeps/unix/bsd/sun/sunos4/bits/resource.h (RLIM_INFINITY)
	[__USE_FILE_OFFSET64]: Make long long constant.
	(RLIM64_INFINITY): Likewise.

	* sysdeps/unix/sysv/linux/bits/resource.h (RLIM_INFINITY): Correct
	for LFS support.
	(RLIM64_INFINITY) [__USE_LARGEFILE64]: Define.
	* sysdeps/generic/bits/resource.h: Likewise.

	* misc/Makefile (routines): Add truncate64 and ftruncate64.

	* include/features.h: Don't prevent LFS support from defining BSD
	and SYSV things.

	* dirent/dirent.h [__USE_FILE_OFFSET64]: Don't use xxx64 names.
	* io/ftw.h [__USE_FILE_OFFSET64]: Likewise.
	* io/sys/stat.h [__USE_FILE_OFFSET64]: Likewise.

	* sysdeps/unix/sysv/linux/alpha/syscalls.list: Add xxx64 alias for
	fstatfs, statfs, getrlimit, setrlimit, ftruncate and truncate.
	* sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list: Likewise.

	* sysdeps/unix/sysv/linux/alpha/fstatfs64.c: New file.
	* sysdeps/unix/sysv/linux/alpha/statfs64.c: New file.
	* sysdeps/unix/sysv/linux/alpha/getrlimit64.c: New file.
	* sysdeps/unix/sysv/linux/alpha/setrlimit64.c: New file.
	* sysdeps/unix/sysv/linux/alpha/ftruncate64.c: New file.
	* sysdeps/unix/sysv/linux/alpha/truncate64.c: New file.
	* sysdeps/unix/sysv/linux/alpha/readdir.c: New file.
	* sysdeps/unix/sysv/linux/alpha/readdir64.c: New file.
	* sysdeps/unix/sysv/linux/alpha/readdir64_r.c: New file.
	* sysdeps/unix/sysv/linux/alpha/readdir_r.c: New file.
	* sysdeps/unix/sysv/linux/sparc/sparc64/fstatfs64.c: New file.
	* sysdeps/unix/sysv/linux/sparc/sparc64/statfs64.c: New file.
	* sysdeps/unix/sysv/linux/sparc/sparc64/getrlimit64.c: New file.
	* sysdeps/unix/sysv/linux/sparc/sparc64/setrlimit64.c: New file.
	* sysdeps/unix/sysv/linux/sparc/sparc64/ftruncate64.c: New file.
	* sysdeps/unix/sysv/linux/sparc/sparc64/truncate64.c: New file.
	* sysdeps/unix/sysv/linux/sparc/sparc64/readdir.c: New file.
	* sysdeps/unix/sysv/linux/sparc/sparc64/readdir64.c: New file.
	* sysdeps/unix/sysv/linux/sparc/sparc64/readdir64_r.c: New file.
	* sysdeps/unix/sysv/linux/sparc/sparc64/readdir_r.c: New file.

	* sysdeps/unix/sysv/linux/fxstat64.c: New file.
	* sysdeps/unix/sysv/linux/lxstat64.c: New file.
	* sysdeps/unix/sysv/linux/xstat64.c: New file.
	* sysdeps/unix/sysv/linux/readdir64.c: New file.
	* sysdeps/unix/sysv/linux/readdir64_r.c: New file.

	* sysdeps/unix/sysv/linux/getdents64.c: New file.
	* sysdeps/unix/sysv/linux/Makefile (sysdep_routines)
	[$(subdir)=dirent]: Add getdents64.
	* sysdeps/unix/sysv/linux/Dist: Add getdents64.c.

	* sysdeps/unix/sysv/linux/xstatconv.c: LFS support.

1997-12-18 12:07  Philip Blundell  <pb@nexus.co.uk>

	* sysdeps/generic/bits/statfs.h (struct statfs64): Added.

	* sysdeps/generic/getrlimit.c: Include <sys/types.h>.
	* sysdeps/generic/getrlimit64.c: Likewise.
	* sysdeps/generic/setrlimit.c: Likewise.
	* sysdeps/generic/setrlimit64.c: Likewise.

1997-12-17 13:57  Philip Blundell  <pb@nexus.co.uk>

	* sysdeps/unix/sysv/linux/siglist.c: Fix compile problem if not
	using versioning.

	* sysdeps/generic/waitid.c: Include <sys/types.h> for id_t.

	* sysdeps/standalone/arm/bits/errno.h (EBUSY): Added.

1997-12-16  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* locale/programs/ld-ctype.c (ctype_output): Clear out the padding
	after the codeset name.

1997-12-16  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* libc.map: Add get_kernel_syms.

1997-12-16  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* sysdeps/generic/testrtsig.h (kernel_has_rtsig): Make
	static.
	* sysdeps/unix/sysv/linux/testrtsig.h (kernel_has_rtsig):
	Likewise.  Fix condition.

1997-12-16  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* libio/Makefile (routines) [$(versioning)=yes]: Add oldiofdopen.

1997-12-15  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* sysdeps/m68k/fpu/bits/mathinline.h: Don't define exp2 inline.
	Define scalbln{,f,l} under __USE_ISOC9X, not __USE_MISC.

1997-12-15  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* sysdeps/unix/sysv/linux/powerpc/syscall.S: Put back.
	* sysdeps/unix/sysv/linux/powerpc/sigreturn.S: Delete this
	instead.  Oops.

1997-12-16  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* configure.in (libc_cv_gcc_alpha_ng_prefix): Correct quoting.

1997-12-16  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* math/libm-test.c (catanh_test): Change epsilon.
	Reported by H.J. Lu.

1997-12-14 19:39  H.J. Lu  <hjl@gnu.org>

	* libc.map (__getpid): Added for linuxthreads.

1997-12-13 21:09  H.J. Lu  <hjl@gnu.org>

	* configure.in (HAVE_DWARF2_UNWIND_INFO_STATIC): Define
	it if gcc uses static variable in DWARF2 unwind information
	for exception support.

	* config.h.in (HAVE_DWARF2_UNWIND_INFO_STATIC): New.

	* elf/soinit.c (__libc_global_ctors, _fini): Handle
	HAVE_DWARF2_UNWIND_INFO_STATIC.

	* libc.map (__register_frame*, __deregister_frame*): Make them
	global.

1997-12-15  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* math/libm-test.c: Add more tests for "normal" values.

1997-12-13  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* stdio-common/printf_fphex.c: Fix printing of long double number
	with a biased exponent of zero.  Fix rounding.

1997-12-13  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* sunrpc/rpc_main.c: Accept new flag -$.
	* sunrpc/Makefile (rpcgen-cmd): Pass it here.

1997-12-13  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* Makefile ($(inst_slibdir)/libc-$(version).so): Install the
	dynamic linker first, in case the interface has changed.

1997-12-13  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* nss/nss_files/files-alias.c (get_next_alias): Fix parameter
	order.

1997-12-12  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>

	* math/tgmath.h: Check for double first, for architectures where
	sizeof (long double) == sizeof (double).

1997-12-07  Andreas Jaeger  <aj@arthur.rhein-neckar.de>

	* math/libm-test.c: New tests for "normal" values added for most
	functions.
Diffstat (limited to 'time')
-rw-r--r--time/README4
-rw-r--r--time/africa2
-rw-r--r--time/antarctica2
-rw-r--r--time/asia4
-rw-r--r--time/australasia4
-rw-r--r--time/backward2
-rw-r--r--time/etcetera2
-rw-r--r--time/europe4
-rw-r--r--time/factory2
-rw-r--r--time/northamerica4
-rw-r--r--time/pacificnew2
-rw-r--r--time/southamerica3
-rw-r--r--time/tzfile.h7
-rw-r--r--time/zic.c4
14 files changed, 21 insertions, 25 deletions
diff --git a/time/README b/time/README
index 1c3160106e..7875a92922 100644
--- a/time/README
+++ b/time/README
@@ -1,14 +1,14 @@
 The files
 	zic.c zdump.c ialloc.c scheck.c tzfile.h
 	private.h tzselect.ksh checktab.awk
-come from the tzcode1997g package by Arthur David Olson et.al.
+come from the tzcode1997h package by Arthur David Olson et.al.
 
 The files
 	africa antarctica asia australasia europe
 	northamerica southamerica pacificnew etcetera factory
 	backward systemv solar87 solar88 solar89
 	iso3166.tab zone.tab leapseconds yearistype
-come from the tzdata1997i package by Arthur David Olson et.al.
+come from the tzdata1997j package by Arthur David Olson et.al.
 
 These packages may be found at ftp://elsie.nci.nih.gov/pub/.  Commentary
 should be addressed to tz@elsie.nci.nih.gov.
diff --git a/time/africa b/time/africa
index f58719da5b..4b56816f40 100644
--- a/time/africa
+++ b/time/africa
@@ -1,4 +1,4 @@
-# @(#)africa	7.20
+# @(#)africa	7.22
 
 # This data is by no means authoritative; if you think you know better,
 # go ahead and edit the file (and please send any changes to
diff --git a/time/antarctica b/time/antarctica
index 83f0cfed76..75d2cf63e4 100644
--- a/time/antarctica
+++ b/time/antarctica
@@ -1,4 +1,4 @@
-# @(#)antarctica	7.8
+# @(#)antarctica	7.10
 
 # From Paul Eggert (1997-03-28):
 # To keep things manageable, we list only locations occupied year-round;
diff --git a/time/asia b/time/asia
index 6734749179..34960d88e6 100644
--- a/time/asia
+++ b/time/asia
@@ -1,4 +1,4 @@
-# @(#)asia	7.30
+# @(#)asia	7.33
 
 # This data is by no means authoritative; if you think you know better,
 # go ahead and edit the file (and please send any changes to
@@ -45,8 +45,6 @@
 #	9:30	CST	(Australian) Central Standard Time
 #
 # See the `europe' file for Russia and Turkey in Asia.
-#
-# See the `africa' file for time zone naming and abbreviation conventions.
 
 # From Guy Harris:
 # Incorporates data for Singapore from Robert Elz' asia 1.1, as well as
diff --git a/time/australasia b/time/australasia
index d981a6a916..2726a25d3d 100644
--- a/time/australasia
+++ b/time/australasia
@@ -1,4 +1,4 @@
-# @(#)australasia	7.34
+# @(#)australasia	7.37
 # This file also includes Pacific islands.
 
 # Notes are at the end of this file
@@ -472,8 +472,6 @@ Zone	Pacific/Wallis	12:15:20 -	LMT	1901
 #
 # See the `northamerica' file for Hawaii.
 # See the `southamerica' file for Easter I and the Galapagos Is.
-#
-# See the `africa' file for time zone naming and abbreviation conventions.
 
 ###############################################################################
 
diff --git a/time/backward b/time/backward
index 59fcffcdff..4c7a19d2cf 100644
--- a/time/backward
+++ b/time/backward
@@ -1,4 +1,4 @@
-# @(#)backward	7.13
+# @(#)backward	7.14
 
 # This file provides links between current names for time zones
 # and their old names.  Many names changed in late 1993.
diff --git a/time/etcetera b/time/etcetera
index c47fae7a68..a6a65db40a 100644
--- a/time/etcetera
+++ b/time/etcetera
@@ -1,4 +1,4 @@
-# @(#)etcetera	7.6
+# @(#)etcetera	7.8
 
 # These entries are mostly present for historical reasons, so that
 # people in areas not otherwise covered by the tz files could "zic -l"
diff --git a/time/europe b/time/europe
index 2948ba1caf..4e30ab4934 100644
--- a/time/europe
+++ b/time/europe
@@ -1,4 +1,4 @@
-# @(#)europe	7.46
+# @(#)europe	7.49
 
 # This data is by no means authoritative; if you think you know better,
 # go ahead and edit the file (and please send any changes to
@@ -37,8 +37,6 @@
 #	 2:00	EET EEST Eastern Europe
 #	 3:00	MSK MSD	Moscow
 #
-# See the `africa' file for time zone naming and abbreviation conventions.
-#
 # A reliable and entertaining source about time zones, especially in Britain,
 # is Derek Howse, Greenwich time and the discovery of the longitude,
 # Oxford University Press (1980).
diff --git a/time/factory b/time/factory
index d95df23c1d..ba27c63269 100644
--- a/time/factory
+++ b/time/factory
@@ -1,4 +1,4 @@
-# @(#)factory	7.1
+# @(#)factory	7.3
 
 # For companies who don't want to put time zone specification in
 # their installation procedures.  When users run date, they'll get the message.
diff --git a/time/northamerica b/time/northamerica
index 635c4ef180..a978333503 100644
--- a/time/northamerica
+++ b/time/northamerica
@@ -1,4 +1,4 @@
-# @(#)northamerica	7.32
+# @(#)northamerica	7.35
 # also includes Central America and the Caribbean
 
 # This data is by no means authoritative; if you think you know better,
@@ -481,8 +481,6 @@ Link	Pacific/Honolulu	HST
 # I found in the UCLA library.
 #
 # See the `europe' file for Greenland.
-#
-# See the `africa' file for time zone naming and abbreviation conventions.
 
 # Canada
 
diff --git a/time/pacificnew b/time/pacificnew
index 883ccdca69..86dd688341 100644
--- a/time/pacificnew
+++ b/time/pacificnew
@@ -1,4 +1,4 @@
-# @(#)pacificnew	7.9
+# @(#)pacificnew	7.10
 
 # From Arthur David Olson (1989-04-05):
 # On 1989-04-05, the U. S. House of Representatives passed (238-154) a bill
diff --git a/time/southamerica b/time/southamerica
index 09e0aa6d28..4f8cb906d9 100644
--- a/time/southamerica
+++ b/time/southamerica
@@ -1,4 +1,4 @@
-# @(#)southamerica	7.18
+# @(#)southamerica	7.21
 
 # This data is by no means authoritative; if you think you know better,
 # go ahead and edit the file (and please send any changes to
@@ -28,7 +28,6 @@
 #	-4:00	AST	ADT	Atlantic
 #	-5:00	AST	ADT	Acre
 #
-# See the `africa' file for time zone naming and abbreviation conventions.
 # Earlier editions of these tables used the North American style (e.g. ARST and
 # ARDT for Argentine Standard and Daylight Time), but the following quote
 # suggests that it's better to use European style (e.g. ART and ARST).
diff --git a/time/tzfile.h b/time/tzfile.h
index a26fbbeefc..90441cbbc3 100644
--- a/time/tzfile.h
+++ b/time/tzfile.h
@@ -21,7 +21,7 @@
 
 #ifndef lint
 #ifndef NOID
-static char	tzfilehid[] = "@(#)tzfile.h	7.9";
+static char	tzfilehid[] = "@(#)tzfile.h	7.13";
 #endif /* !defined NOID */
 #endif /* !defined lint */
 
@@ -45,8 +45,11 @@ static char	tzfilehid[] = "@(#)tzfile.h	7.9";
 ** Each file begins with. . .
 */
 
+#define	TZ_MAGIC	"TZif"
+
 struct tzhead {
-	char	tzh_reserved[20];	/* reserved for future use */
+ 	char	tzh_magic[4];		/* TZ_MAGIC */
+	char	tzh_reserved[16];	/* reserved for future use */
 	char	tzh_ttisgmtcnt[4];	/* coded number of trans. time flags */
 	char	tzh_ttisstdcnt[4];	/* coded number of trans. time flags */
 	char	tzh_leapcnt[4];		/* coded number of leap seconds */
diff --git a/time/zic.c b/time/zic.c
index c95887c9b4..2780e4c996 100644
--- a/time/zic.c
+++ b/time/zic.c
@@ -1,6 +1,6 @@
 #ifndef lint
 #ifndef NOID
-static char	elsieid[] = "@(#)zic.c	7.87";
+static char	elsieid[] = "@(#)zic.c	7.91";
 #endif /* !defined NOID */
 #endif /* !defined lint */
 
@@ -1464,7 +1464,9 @@ const char * const	name;
 	convert(eitol(timecnt), tzh.tzh_timecnt);
 	convert(eitol(typecnt), tzh.tzh_typecnt);
 	convert(eitol(charcnt), tzh.tzh_charcnt);
+	(void) strncpy(tzh.tzh_magic, TZ_MAGIC, sizeof tzh.tzh_magic);
 #define DO(field)	(void) fwrite((void *) tzh.field, (size_t) sizeof tzh.field, (size_t) 1, fp)
+	DO(tzh_magic);
 	DO(tzh_reserved);
 	DO(tzh_ttisgmtcnt);
 	DO(tzh_ttisstdcnt);