From 7cc27f440c2f709fda63af7ecb3747deeeb799f0 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Mon, 10 Feb 1997 03:19:57 +0000 Subject: update from main archive 970209 1997-02-09 02:59 Ulrich Drepper * version.h (VERSION): Bump to 2.0.2. * posix/Makefile (routines): Add getopt_init. * posix/getopt.c: Don't get environment variable with nonoption flags here. Depend on __getopt_nonoption_flags variable filled somewhere else. This is necessary since the variable must be removed even when getopt isn't used in case exec(2) gets called. * posix/getopt_init.c: New file. Initialize __getopt_nonoption_flags and remove environment variable. * sysdeps/i386/init-first.c: Call __getopt_clean_environment. * sysdeps/mach/hurd/i386/init-first.c: Likewise. * sysdeps/stub/init-first.c: Likewise. * sysdeps/unix/sysv/linux/init-first.c: Likewise. * sysdeps/generic/dl-sysdep.c (_dl_sysdep_start): Recognize AT_PAGESZ entry in auxiliary vector and store value in _dl_pagesize. * sysdeps/generic/crypt-entry.h: Return EOPNOTSUPP when DES encryption is wanted. * libio/vsnprintf.c: If MAXLEN is 0 return 0. * stdio/vsnprintf.c: Likewise. Reported by Philip Blundell . 1997-02-07 17:43 Ulrich Drepper * sysdeps/generic/sysd-stdio.c: Include . Change PTR to void *. * sysdeps/posix/vdprintf.c: Change PTR to void *. Reported by Brian Oxley . 1997-02-07 17:41 Philip Blundell * sysdeps/unix/sysv/linux/socketbits.h: Fix typo. 1997-02-06 13:49 Andreas Schwab * rellns-sh: No need to check for existance of first parameter. 1997-02-06 14:50 Andreas Schwab * sysdeps/posix/getcwd.c (__getcwd): Fix resource leaks. Reported by David Holland . 1997-02-06 14:38 Andreas Schwab * sunrpc/clnt_tcp.c (readtcp): Pass copy of timeout value to select, in case it is modified by the latter. * sunrpc/clnt_udp.c (clntudp_call): Likewise. * sunrpc/pmap_rmt.c (clnt_broadcast): Likewise. * sunrpc/svc_tcp.c (readtcp): Likewise. * sunrpc/svc_authux.c (_svcauth_unix): Fix type of area_gids array. * sunrpc/authuxprot.c (xdr_authunix_parms): Check size of uid_t and gid_t. * sunrpc/auth_unix.c (authunix_validate): Fix type of second argument. 1997-02-06 14:29 Andreas Schwab * elf/Makefile (extra-objs): Don't zap previous value. * Makefile (before-compile): Likewise. Don't add gnu/lib-names.h twice. 1997-02-06 14:19 Andreas Schwab * sysdeps/unix/sysv/linux/m68k/brk.c: Add workaround for braindamage (sigh!). 1997-02-06 17:10 Jim Meyering * manual/memory.texi: Correct `copystring' example for obstacks. 1997-02-06 14:10 Ulrich Drepper * Makeconfig: Don't use [:lower:] and [:upper:] in tr since old GNU tr don't grok it. 1997-02-03 21:13 Andreas Schwab * sysdeps/unix/sysv/linux/socketbits.h [__GNUC__<2] (struct cmsghdr): Don't use GNU C extensions. (CMSG_DATA): Use portable definition. 1997-02-05 05:58 Ulrich Drepper * elf/ldd.bash.in: Add test for read permission and print appropriate message. Change warning and error messages to print "ldd: " at start. * elf/ldd.sh.in: Likewise. * stdlib/Makefile (routines): Add atoll. * stdlib/atoll.c: New file. * stdlib/stdlib.h: Add prototype and optimization for atoll. * stdlib/a64l.c: Update copyright. * stdlib/abs.c: Likewise. * stdlib/atof.c: Likewise. * stdlib/atoi.c: Likewise. * stdlib/atol.c: Likewise. * stdlib/bsearch.c: Likewise. * stdlib/exit.c: Likewise. * stdlib/fpioconst.c: Likewise. * stdlib/fpioconst.h: Likewise. * stdlib/jrand48.c: Likewise. * stdlib/jrand48_r.c: Likewise. * stdlib/labs.c: Likewise. * stdlib/lcong48.c: Likewise. * stdlib/lcong48_r.c: Likewise. * stdlib/llabs.c: Likewise. * stdlib/lrand48.c: Likewise. * stdlib/lrand48_r.c: Likewise. * stdlib/mblen.c: Likewise. * stdlib/mbstowcs.c: Likewise. * stdlib/mbtowc.c: Likewise. * stdlib/mp_clz_tab.c: Likewise. * stdlib/mrand48.c: Likewise. * stdlib/mrand48_r.c: Likewise. * stdlib/msort.c: Likewise. * stdlib/nrand48.c: Likewise. * stdlib/nrand48_r.c: Likewise. * stdlib/qsort.c: Likewise. * stdlib/rpmatch.c: Likewise. * stdlib/seed48.c: Likewise. * stdlib/seed48_r.c: Likewise. * stdlib/srand48.c: Likewise. * stdlib/srand48_r.c: Likewise. * stdlib/strtod.c: Likewise. * stdlib/wcstombs.c: Likewise. * stdlib/wctomb.c: Likewise. 1997-02-05 05:08 Ulrich Drepper * stdlib/mp_clz_tab.c (__clz_tab): Follow change in GMP and define as const. 1997-02-04 23:57 Fila Kolodny * sysdeps/unix/sysv/linux/socketbits.h: Define __need_NULL before including . 1997-02-03 20:01 H.J. Lu * time/Makefile (tzbases, tzlinks): New. (tzfiles): Changed to $(tzbases) $(tzlinks). ($(tzfiles:%=$(objpfx)z.%): Make $(tzlinks) depend on $(tzbases). 1997-02-02 12:13 H.J. Lu * Makefile (install): Ignore error from ldconfig. * time/zic.c (mkdirs): Double check the error return of mkdir (). 1997-02-04 22:01 Ulrich Drepper * stdio-common/vfprintf.c: Prepare to use __va_copy for architectures like PPC where va_list is no integral type. 1997-02-04 15:27 Roma Ekzhanov * posix/getopt.c (exchange): Don't allocate nonoption_flags array if nonoption_flags_len == -1. --- time/Makefile | 16 ++++++++++++++-- time/zic.c | 17 +++++++++++------ 2 files changed, 25 insertions(+), 8 deletions(-) (limited to 'time') diff --git a/time/Makefile b/time/Makefile index d90bc87d42..fb9ef32535 100644 --- a/time/Makefile +++ b/time/Makefile @@ -37,9 +37,11 @@ routines := offtime asctime clock ctime ctime_r difftime \ others := ap zdump zic tests := test_time clocktest -tzfiles := africa antarctica asia australasia europe northamerica \ - southamerica etcetera factory systemv backward \ +tzbases := africa antarctica asia australasia europe northamerica \ + southamerica etcetera factory systemv \ solar87 solar88 solar89 +tzlinks := backward +tzfiles := $(tzbases) $(tzlinks) # pacificnew doesn't compile; if it is to be used, it should be included in # northamerica. distribute += $(tzfiles) leapseconds pacificnew simplebackw @@ -96,11 +98,21 @@ $(tzfiles:%=$(objpfx)z.%): $(objpfx)z.%: % Makefile # Kludge alert: we use an implicit rule (in what we are generating here) # because that is the only way to tell Make that the one command builds all # the files. +# The extra kludge for the $(tzlinks) files is necessary since running zic +# this file requires all other files to exist. Blech! (echo 'define $*-zones' ;\ awk '$$1 == "Zone" { print $$2 } $$1 == "Link" { print $$3 }' $^ ;\ echo 'endef' ;\ echo '$*-zones := $$(subst $$(nl), ,$$($*-zones))' ;\ echo 'ifdef $*-zones' ;\ + if test x$(findstring $*, $(tzlinks)) != x; then \ + echo '$$(addprefix $$(inst_datadir)/zone%/right/,$$($*-zones)) \';\ + echo '$$(addprefix $$(inst_datadir)/zone%/posix/,$$($*-zones)) \';\ + echo '$$(addprefix $$(inst_datadir)/zone%/,$$($*-zones)): \' ;\ + echo '$$(foreach t,$$(tzbases),$$(addprefix $$(inst_datadir)/zone%/right/,$$($$t-zones))) \' ;\ + echo '$$(foreach t,$$(tzbases),$$(addprefix $$(inst_datadir)/zone%/posix/,$$($$t-zones))) \' ;\ + echo '$$(foreach t,$$(tzbases),$$(addprefix $$(inst_datadir)/zone%/,$$($$t-zones)))' ;\ + fi ;\ echo '$$(addprefix $$(inst_datadir)/zone%/right/,$$($*-zones)): \' ;\ echo '$< $$(objpfx)zic leapseconds yearistype' ;\ echo ' $$(tzcompile)' ;\ diff --git a/time/zic.c b/time/zic.c index 9ab3967e98..2e07d79196 100644 --- a/time/zic.c +++ b/time/zic.c @@ -2126,15 +2126,20 @@ char * const argname; if (!itsdir(name)) { /* ** It doesn't seem to exist, so we try to create it. + ** Double check the return. Someone may be one + ** step ahead of us. */ if (mkdir(name, 0755) != 0) { - const char *e = strerror(errno); + int save_error = errno; + if (errno == EEXIST && !itsdir(name)) { + const char *e = strerror(save_error); - (void) fprintf(stderr, - _("%s: Can't create directory %s: %s\n"), - progname, name, e); - ifree(name); - return -1; + (void) fprintf(stderr, + _("%s: Can't create directory %s: %s\n"), + progname, name, e); + ifree(name); + return -1; + } } } *cp = '/'; -- cgit v1.2.3