summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorTodd C. Miller <millert@cvs.openbsd.org>2000-03-30 23:30:26 +0000
committerTodd C. Miller <millert@cvs.openbsd.org>2000-03-30 23:30:26 +0000
commitddc3a3f15f9d98bf9aa02301113c8ae9b1f2ff80 (patch)
tree14f376598d53815a062ca585fd6a3151d3b442ed /lib
parent12de73c2fa83d5aec88f10c4e272869628846ca3 (diff)
Try a hard link before a soft one since we want hard links in
the zoneinfo dir.
Diffstat (limited to 'lib')
-rw-r--r--lib/libc/time/zic.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/lib/libc/time/zic.c b/lib/libc/time/zic.c
index a02252f2698..62422ec5c51 100644
--- a/lib/libc/time/zic.c
+++ b/lib/libc/time/zic.c
@@ -1,6 +1,6 @@
#if defined(LIBC_SCCS) && !defined(lint) && !defined(NOID)
static char elsieid[] = "@(#)zic.c 7.99";
-static char rcsid[] = "$OpenBSD: zic.c,v 1.11 2000/03/30 23:26:45 millert Exp $";
+static char rcsid[] = "$OpenBSD: zic.c,v 1.12 2000/03/30 23:30:25 millert Exp $";
#endif /* LIBC_SCCS and not lint */
#include "private.h"
@@ -611,10 +611,10 @@ const char * const tofile;
if (mkdirs(toname) != 0)
(void) exit(EXIT_FAILURE);
-#if (HAVE_SYMLINK - 0)
- result = symlink(fromname, toname);
-#else
result = link(fromname, toname);
+#if (HAVE_SYMLINK - 0)
+ if (result != 0 && errno == EXDEV)
+ result = symlink(fromname, toname);
#endif
if (result != 0) {
const char *e = strerror(errno);