
Below is my guess as to the best way to handle the symlinks situation; absent adverse feedback, it will show up in the next tzcode1998... --ado *** 7.64/Makefile Sat Jan 31 13:53:19 1998 --- 7.65/Makefile Sat Jan 31 13:53:19 1998 *************** *** 1,4 **** ! # @(#)Makefile 7.64 # Change the line below for your time zone (after finding the zone you want in # the time zone files, or adding it to a time zone file). --- 1,4 ---- ! # @(#)Makefile 7.65 # Change the line below for your time zone (after finding the zone you want in # the time zone files, or adding it to a time zone file). *************** *** 91,96 **** --- 91,97 ---- # -DHAVE_SETTIMEOFDAY=2 if settimeofday uses 2nd arg (4.3BSD) # -DHAVE_SETTIMEOFDAY=3 if settimeofday ignores 2nd arg (4.4BSD) # -DHAVE_STRERROR=1 if `strerror' works + # -DHAVE_SYMLINK=0 if your system lacks the symlink function # -DLOCALE_HOME=\"path\" if locales are in "path", not "/usr/lib/locale" # -DHAVE_UNISTD_H=0 if your compiler lacks a "unistd.h" (Microsoft C++ 7?) # -DHAVE_UTMPX_H=1 if your compiler has a "utmpx.h" *** 7.93/zic.c Sat Jan 31 13:53:21 1998 --- 7.94/zic.c Sat Jan 31 13:53:21 1998 *************** *** 1,6 **** #ifndef lint #ifndef NOID ! static char elsieid[] = "@(#)zic.c 7.93"; #endif /* !defined NOID */ #endif /* !defined lint */ --- 1,6 ---- #ifndef lint #ifndef NOID ! static char elsieid[] = "@(#)zic.c 7.94"; #endif /* !defined NOID */ #endif /* !defined lint */ *************** *** 601,609 **** if (!itsdir(toname)) (void) remove(toname); if (link(fromname, toname) != 0) { if (mkdirs(toname) != 0) (void) exit(EXIT_FAILURE); ! if (link(fromname, toname) != 0) { const char *e = strerror(errno); (void) fprintf(stderr, --- 601,619 ---- if (!itsdir(toname)) (void) remove(toname); if (link(fromname, toname) != 0) { + int result; + if (mkdirs(toname) != 0) (void) exit(EXIT_FAILURE); ! result = link(fromname, toname); ! #if (HAVE_SYMLINK - 0) ! if (result != 0) { ! result = symlink(fromname, toname); ! if (result == 0) ! warning(_("hard link failed, symbolic link used")); ! } ! #endif ! if (result != 0) { const char *e = strerror(errno); (void) fprintf(stderr,
participants (1)
-
ado