summaryrefslogtreecommitdiff
path: root/time
diff options
context:
space:
mode:
Diffstat (limited to 'time')
-rw-r--r--time/Makefile8
-rw-r--r--time/leapseconds3
-rw-r--r--time/zic.c16
3 files changed, 14 insertions, 13 deletions
diff --git a/time/Makefile b/time/Makefile
index 0798e0838e..044f15486d 100644
--- a/time/Makefile
+++ b/time/Makefile
@@ -106,11 +106,11 @@ $(tzfiles:%=$(objpfx)z.%): $(objpfx)z.%: % Makefile
echo '$*-zones := $$(subst $$(nl), ,$$($*-zones))' ;\
echo 'ifdef $*-zones' ;\
if test x$(findstring $*, $(tzlinks)) != x; then \
- echo '$$(addprefix $$(inst_zonedir)/right/,$$($*-zones)) \';\
- echo '$$(addprefix $$(inst_zonedir)/posix/,$$($*-zones)) \';\
+ echo '$$(addprefix $$(inst_zonedir)/right/,$$($*-zones)): \';\
+ echo '$$(foreach t,$$(tzbases),$$(addprefix $$(inst_zonedir)/right/,$$($$t-zones)))' ;\
+ echo '$$(addprefix $$(inst_zonedir)/posix/,$$($*-zones)): \';\
+ echo '$$(foreach t,$$(tzbases),$$(addprefix $$(inst_zonedir)/posix/,$$($$t-zones)))' ;\
echo '$$(addprefix $$(inst_zonedir)/,$$($*-zones)): \' ;\
- echo '$$(foreach t,$$(tzbases),$$(addprefix $$(inst_zonedir)/right/,$$($$t-zones))) \' ;\
- echo '$$(foreach t,$$(tzbases),$$(addprefix $$(inst_zonedir)/posix/,$$($$t-zones))) \' ;\
echo '$$(foreach t,$$(tzbases),$$(addprefix $$(inst_zonedir)/,$$($$t-zones)))' ;\
fi ;\
echo '$$(addprefix $$(inst_datadir)/zone%/right/,$$($*-zones)): \' ;\
diff --git a/time/leapseconds b/time/leapseconds
index c48e495344..6ff99ada37 100644
--- a/time/leapseconds
+++ b/time/leapseconds
@@ -1,4 +1,4 @@
-# @(#)leapseconds 7.8
+# @(#)leapseconds 7.9
# Allowance for leapseconds added to each timezone file.
@@ -40,3 +40,4 @@ Leap 1992 Jun 30 23:59:60 + S
Leap 1993 Jun 30 23:59:60 + S
Leap 1994 Jun 30 23:59:60 + S
Leap 1995 Dec 31 23:59:60 + S
+Leap 1997 Jun 30 23:59:60 + S
diff --git a/time/zic.c b/time/zic.c
index 2e07d79196..c4c9a3ae25 100644
--- a/time/zic.c
+++ b/time/zic.c
@@ -1,6 +1,6 @@
#ifndef lint
#ifndef NOID
-static char elsieid[] = "@(#)zic.c 7.81";
+static char elsieid[] = "@(#)zic.c 7.82";
#endif /* !defined NOID */
#endif /* !defined lint */
@@ -2126,17 +2126,17 @@ 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.
+ ** Creation may fail because of the directory being
+ ** created by some other multiprocessor, so we get
+ ** to do extra checking.
*/
if (mkdir(name, 0755) != 0) {
- int save_error = errno;
- if (errno == EEXIST && !itsdir(name)) {
- const char *e = strerror(save_error);
+ const char *e = strerror(errno);
+ if (errno != EEXIST || !itsdir(name)) {
(void) fprintf(stderr,
- _("%s: Can't create directory %s: %s\n"),
- progname, name, e);
+_("%s: Can't create directory %s: %s\n"),
+ progname, name, e);
ifree(name);
return -1;
}