From 4cca6b868f08e4f95a4c3786a69135676b086c50 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Sat, 8 Mar 1997 05:28:20 +0000 Subject: Update. 1997-03-08 05:30 Ulrich Drepper * argp/Makefile (routines): Add argp-eexst. * argp/argp-ba.c (argp_program_bug_address): Make `const'. * argp/argp-eexst.c: New file. Define exit status variable. * argp/argp-help.c (__argp_state_help): Use argp_err_exit_status variable instead of always exiting with value 1. * argp/argp-pv.c (argp_program_version): Make `const'. * argp/argp.h: Declare argp_err_exit_status. Patches by Miles Bader . * locale/programs/localedef.c: Use argp_err_exit_status to terminate with correct value. * inet/rcmd.c (iruserok): Use euidaccess instead of half-hearted switching of UID before opening .rhosts. * libio/vsnprintf.c: Change implementation to follow ISO C 9X proposal. The return value now is always the number of characters which would be written if enough space is available. * manual/stdio.texi: Update description for new behaviour. * locale/locale.h (__locale_t): Don't use __locale_t for struct name and pointer to struct since old gccs cannot keep the namespaces apart. Rename struct to __locale_struct. * locale/duplocale.h: Likewise. * locale/newlocale.h: Likewise. * math/Makefile (headers): Add complex.h and cmathcalls.h. (routines): Remove w_cabs. Add conj, cimag, creal, and cabs. * math/math.h: Undefine __MATHDECL_1, __MATHDECL, and __MATHCALL after use. (signgam): Move declaration to here from mathcalls.h. * math/mathcalls.h (cabs, __cabs_complex, signgam): Remove definition. Correct comment for fmin and fmax. Start implementing complex math function from ISO C 9X. * math/complex.h: New file. * math/cmathcalls.h: New file. * math/cabs.c: New file. * math/cabsf.c: New file. * math/cabsl.c: New file. * math/cimag.c: New file. * math/cimagf.c: New file. * math/cimagl.c: New file. * math/conj.c: New file. * math/conjf.c: New file. * math/conjl.c: New file. * math/creal.c: New file. * math/crealf.c: New file. * math/creall.c: New file. * sysdeps/libm-ieee754/w_cabs.c: Removed. * sysdeps/libm-ieee754/w_cabsf.c: Removed. * sysdeps/libm-ieee754/w_cabsl.c: Removed. * posix/regex.c: Merge with regex sources from Arnold Robbins' version in GNU awk. * posix/regex.h: Likewise. Add regex test suite by Tom Lord. * posix/Makefile (distribute): Add TESTS, TESTS2C.sed, and testcases.h. (tests): Add runtests. (before-compile): Add testcases.h. (testcases.h): New rule to generate header with tests. * posix/TESTS: New file. * posix/TESTS2C.sed.: New file. * posix/runtests.c: New file. * posix/testcases.h: New file. * sysdeps/unix/sysv/linux/poll.c: Test whether poll syscall is available and use fall-back implementation if not. * sysdeps/unix/sysv/linux/syscalls.list: Sort entries. * time/ialloc.c: Update from tzcode1997c. * time/private.h: Likewise. * time/scheck.c: Likewise. * time/tzselect.ksh: Likewise. * time/zdump.c: Likewise. * time/zic.c: Likewise. * time/tzfile.c: Pretty print. 1997-03-06 07:37 Geoff Keating Port to powerpc-*-linux-gnu. Slightly tested, under MkLinux, on a 601. * sysdeps/powerpc/Implies: Added. * sysdeps/powerpc/__longjmp.S: Added. * sysdeps/powerpc/__math.h: Added. * sysdeps/powerpc/bsd-_setjmp.S: Added. * sysdeps/powerpc/bsd-setjmp.S: Added. * sysdeps/powerpc/dl-machine.h: Added. * sysdeps/powerpc/ffs.c: Added. * sysdeps/powerpc/fpu_control.h: Added. * sysdeps/powerpc/jmp_buf.h: Added. * sysdeps/powerpc/setjmp.S: Added. * sysdeps/powerpc/strlen.s: Added. * sysdeps/powerpc/elf/start.c: Added. * sysdeps/powerpc/fpu_control.h: Added. * sysdeps/powerpc/jmp_buf.h: Added. * sysdeps/unix/sysv/linux/powerpc/Dist: Added. * sysdeps/unix/sysv/linux/powerpc/_exit.S: Added. * sysdeps/unix/sysv/linux/powerpc/brk.c: Added. * sysdeps/unix/sysv/linux/powerpc/clone.S: Added. * sysdeps/unix/sysv/linux/powerpc/init-first.h: Added. * sysdeps/unix/sysv/linux/powerpc/ioctl-types.h: Added. * sysdeps/unix/sysv/linux/powerpc/profil.c: Added. * sysdeps/unix/sysv/linux/powerpc/sigreturn.S: Added. * sysdeps/unix/sysv/linux/powerpc/socket.S: Added. * sysdeps/unix/sysv/linux/powerpc/syscall.S: Added. * sysdeps/unix/sysv/linux/powerpc/syscalls.list: Added. * sysdeps/unix/sysv/linux/powerpc/sysdep.c: Added. * sysdeps/unix/sysv/linux/powerpc/sysdep.h: Added. * sysdeps/unix/sysv/linux/powerpc/termbits.h: Added. * sysdeps/unix/sysv/linux/powerpc/sys/syscall.h: Added. 1997-03-05 05:24 Geoff Keating * elf/dl-runtime.c (fixup): Add ELF_FIXUP_RETURNS_ADDRESS switch, because knowing the first instruction of a PowerPC PLT trampoline is not very helpful. 1997-03-04 08:04 Geoff Keating * elf/dl-load.c (ELF_PREFERRED_ADDRESS, ELF_PREFERRED_ADDRESS_DATA, ELF_FIXED_ADDRESS): Added. These are for dl-machine.h to indicate a preference as to where executables should be loaded. 1997-02-28 08:50 Geoff Keating * elf/elf.h: Add in all those PowerPC reloc types. 1997-02-24 07:12 Geoff Keating * stdio-common/vfscanf.c: Use __va_copy if available. 1997-03-06 13:50 Andreas Schwab * malloc/malloc.c (mprotect) [_LIBC]: Define as __mprotect to clean up namespace. 1997-03-07 14:27 Ulrich Drepper * sysdeps/libm-ieee754/s_fpclassify.c (__fpclassify): Don't use non-existing GET_WORDS macro, use EXTRACT_WORDS. Reported by Andres Schwab . 1997-03-07 05:27 Ulrich Drepper * sysdeps/unix/sysv/linux/i386/sigaction.c: The user- and kernel-level sigaction structure is different. handle this correctly. Bug report by Andres Jaeger . 1997-03-06 05:55 David Engel * sysdeps/generic/dl-cache.c (_dl_load_cache_lookup): Also recognize cache entries with flag == 3. 1997-03-06 01:05 Ulrich Drepper * sysdeps/generic/netinet/in.h (INADDR_NONE): Cast to unsigned int. (INADDR_LOOPBACK): Likewise. * sysdeps/unix/sysv/linux/netinet/in.h: Likewise. * manual/socket.texi: Correct types of INADDR_* constants from unsigned long to unsigned. 1997-03-05 23:14 Ulrich Drepper * time/antarctica: Update from tzdata1997c. * time/asia: Likewise. * time/zone.tab: Likewise. 1997-03-05 00:43 Andreas Schwab * configure.in (libc_cv_asm_symver_directive, libc_cv_ld_version_script_option): Remove unknown instruction from assembler test file. 1997-03-04 19:14 Andreas Schwab * sysdeps/m68k/fpu/__math.h: Update feature tests to use __USE_ISOC9X. [__USE_ISOC9X]: Define __log2 and __exp2 inlines. (fabs): Remove defininition, it is a gcc builtin. (sqrt, __sqrt): Remove definition, they have wrappers in libm. 1997-03-04 10:11 H.J. Lu * sunrpc/Makefile ($(objpfx)rpc-proto.c): Create subdir before generating file. 1997-03-05 03:59 Ulrich Drepper * inet/rcmd.c (__ivaliduser): Don't use getline, but __getline instead to avoid namespace problems. Reported by David Mosberger-Tang . 1997-03-03 19:01 Andreas Schwab * login/utmp_file.c: Fix previous change. Make portable by checking the _HAVE_UT_* feature macros. * libio/fileops.c (_IO_file_finish): Likewise. --- time/antarctica | 4 +- time/asia | 115 ++++++++++++++++++++++++++++++++++-------------------- time/ialloc.c | 9 +---- time/private.h | 17 +++++++- time/scheck.c | 5 +-- time/tzfile.c | 2 +- time/tzselect.ksh | 13 +++--- time/zdump.c | 32 +++++++++------ time/zic.c | 32 ++++++++++----- time/zone.tab | 2 +- 10 files changed, 139 insertions(+), 92 deletions(-) (limited to 'time') diff --git a/time/antarctica b/time/antarctica index 1cff7552d1..c06231e454 100644 --- a/time/antarctica +++ b/time/antarctica @@ -1,4 +1,4 @@ -# @(#)antarctica 7.6 +# @(#)antarctica 7.7 # From Paul Eggert (1997-01-20): # To keep things manageable, we list only locations occupied year-round; @@ -79,7 +79,7 @@ Zone Indian/Kerguelen 0 - ___ 1950 # Port-aux-Francais 5:00 - TFT # ISO code TF Time # # year-round base in the main continent -# Dumont-d'Urville, Terre Adelie (Adelie Land), -6040+14001, since 1956-11 +# Dumont-d'Urville, Terre Adelie (Adelie Land), -6640+14001, since 1956-11 # # Another base at Port-Martin, 50km east, began operation in 1947. # It was destroyed by fire on 1952-01-14. diff --git a/time/asia b/time/asia index 07cdb113c4..0a3c4fed00 100644 --- a/time/asia +++ b/time/asia @@ -1,4 +1,4 @@ -# @(#)asia 7.27 +# @(#)asia 7.28 # 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 @@ -506,8 +506,10 @@ Rule Zion 1987 only - Sep 13 0:00 0 S Rule Zion 1988 only - Apr 9 0:00 1:00 D Rule Zion 1988 only - Sep 3 0:00 0 S -# From Ephraim Silverberg (1996-01-02): -# +# From Ephraim Silverberg (ephraim@cs.huji.ac.il), 1997-03-04: + +# Zone Information Compiler (ZIC) File for the State of Israel (1989-2009) + # According to the Office of the Secretary General of the Ministry of # Interior, there is NO set rule for Daylight-Savings/Standard time changes. # Each year they decide anew what havoc to wreak on the country. However, @@ -516,55 +518,82 @@ Rule Zion 1988 only - Sep 3 0:00 0 S # government, the phase of the moon and the direction of the wind. Hence, # changes may need to be made on a semi-annual basis. One thing is entrenched # in law, however: that there must be at least 150 days of daylight savings -# time annually. Ever since 1993, the change to daylight savings time has -# been from midnight Thursday night to 1 a.m. Friday morning and the change -# back to standard time on Saturday night from midnight daylight savings time +# time annually. Ever since 1993, the change to daylight savings time is +# on a Thursday night from midnight IST to 1 a.m IDT. The change back to +# standard time is on a Saturday night from midnight daylight savings time # to 11 p.m. standard time. 1996 is an exception to this rule where the -# change back to standard time takes place on Sunday night instead of Saturday +# change back to standard time took place on Sunday night instead of Saturday # night to avoid conflicts with the Jewish New Year. -# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S -Rule Zion 1989 only - Apr 30 0:00 1:00 D -Rule Zion 1989 only - Sep 3 0:00 0 S -Rule Zion 1990 only - Mar 25 0:00 1:00 D -Rule Zion 1990 only - Aug 26 0:00 0 S -Rule Zion 1991 only - Mar 24 0:00 1:00 D -Rule Zion 1991 only - Sep 1 0:00 0 S -Rule Zion 1992 only - Mar 29 0:00 1:00 D -Rule Zion 1992 only - Sep 6 0:00 0 S -Rule Zion 1993 only - Apr 2 0:00 1:00 D -Rule Zion 1993 only - Sep 5 0:00 0 S +# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S +Rule Zion 1989 only - Apr 30 0:00 1:00 D +Rule Zion 1989 only - Sep 3 0:00 0:00 S +Rule Zion 1990 only - Mar 25 0:00 1:00 D +Rule Zion 1990 only - Aug 26 0:00 0:00 S +Rule Zion 1991 only - Mar 24 0:00 1:00 D +Rule Zion 1991 only - Sep 1 0:00 0:00 S +Rule Zion 1992 only - Mar 29 0:00 1:00 D +Rule Zion 1992 only - Sep 6 0:00 0:00 S +Rule Zion 1993 only - Apr 2 0:00 1:00 D +Rule Zion 1993 only - Sep 5 0:00 0:00 S # The dates for 1994-1995 were obtained from Office of the Spokeswoman for the # Ministry of Interior, Jerusalem, Israel. The spokeswoman can be reached by -# calling the switchboard at 972-2-701411 and asking for the spokeswoman. +# calling the office directly at 972-2-6701447 or 972-2-6701448. -# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S -Rule Zion 1994 only - Apr 1 0:00 1:00 D -Rule Zion 1994 only - Aug 28 0:00 0 S -Rule Zion 1995 only - Mar 31 0:00 1:00 D -Rule Zion 1995 only - Sep 3 0:00 0 S - -# The dates for 1996-1998 were also obtained from Office of the Spokeswoman -# for the Ministry of Interior, Jerusalem, Israel. The official announcement -# can be viewed (in Hebrew) at the following URL: +# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S +Rule Zion 1994 only - Apr 1 0:00 1:00 D +Rule Zion 1994 only - Aug 28 0:00 0:00 S +Rule Zion 1995 only - Mar 31 0:00 1:00 D +Rule Zion 1995 only - Sep 3 0:00 0:00 S + +# The dates for 1996 were determined by the Minister of Interior of the +# time, Haim Ramon. The official announcement regarding 1996-1998 +# (with the dates for 1997 no longer being relevant) can be viewed at: # -# ftp://ftp.huji.ac.il/pub/misc/timezones/announcements/1996-1998.ps.gz +# ftp://ftp.huji.ac.il/pub/tz/announcements/1996-1998.ramon.ps.gz # -# Caveat emptor: The dates for the years 1996-1998 were originally announced -# on 1995-08-31, by the previous Minister of Interior. The new Minister -# of Interior changed the dates on 1996-01-01, to take into account the -# desires of certain portions of Israeli society (the next election is in the -# Fall of 1996). After this (1996) year's Daylight Savings Time is over, the -# new minister has announced that a study will be conducted as to the wishes of -# the populace regarding the length of Daylight Savings Time and the Interior -# Committee will meet to review the results of the study and make any necessary -# changes to the 1997-1998 dates. Never a dull moment in the State of Israel. - -# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S -Rule Zion 1996 1998 - Mar Fri>=14 0:00 1:00 D -Rule Zion 1996 only - Sep 16 0:00 0 S -Rule Zion 1997 1998 - Oct Sun>=14 0:00 0 S +# The dates for 1997 were altered by his successor, Rabbi Eli Suissa. +# No changes have been made regarding 1998 as of yet. +# +# The official announcement for the year 1997 can be viewed at: +# +# ftp://ftp.huji.ac.il/pub/tz/announcements/1997.ps.gz + +# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S +Rule Zion 1996 only - Mar 15 0:00 1:00 D +Rule Zion 1996 only - Sep 16 0:00 0:00 S +Rule Zion 1997 only - Mar 21 0:00 1:00 D +Rule Zion 1997 only - Sep 14 0:00 0:00 S +Rule Zion 1998 only - Mar 20 0:00 1:00 D +Rule Zion 1998 only - Oct 18 0:00 0:00 S + +# These rules are probably wrong, but they are close approximations (usually +# within a few weeks): + +# Rule NAME FROM TO TYPE IN ON AT SAVE LETTER/S +Rule Zion 1999 only - Apr 11 0:00 1:00 D +Rule Zion 1999 only - Sep 5 0:00 0:00 S +Rule Zion 2000 only - Apr 30 0:00 1:00 D +Rule Zion 2000 only - Sep 24 0:00 0:00 S +Rule Zion 2001 only - Apr 15 0:00 1:00 D +Rule Zion 2001 only - Sep 9 0:00 0:00 S +Rule Zion 2002 only - Apr 7 0:00 1:00 D +Rule Zion 2002 only - Sep 1 0:00 0:00 S +Rule Zion 2003 only - Apr 27 0:00 1:00 D +Rule Zion 2003 only - Sep 21 0:00 0:00 S +Rule Zion 2004 only - Apr 18 0:00 1:00 D +Rule Zion 2004 only - Sep 12 0:00 0:00 S +Rule Zion 2005 only - May 1 0:00 1:00 D +Rule Zion 2005 only - Sep 25 0:00 0:00 S +Rule Zion 2006 only - Apr 23 0:00 1:00 D +Rule Zion 2006 only - Sep 17 0:00 0:00 S +Rule Zion 2007 only - Apr 15 0:00 1:00 D +Rule Zion 2007 only - Sep 9 0:00 0:00 S +Rule Zion 2008 only - Apr 27 0:00 1:00 D +Rule Zion 2008 only - Sep 21 0:00 0:00 S +Rule Zion 2009 only - Apr 19 0:00 1:00 D +Rule Zion 2009 only - Sep 13 0:00 0:00 S # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone Asia/Jerusalem 2:20:56 - LMT 1880 diff --git a/time/ialloc.c b/time/ialloc.c index 5631947d07..8a0c701578 100644 --- a/time/ialloc.c +++ b/time/ialloc.c @@ -1,6 +1,6 @@ #ifndef lint #ifndef NOID -static char elsieid[] = "@(#)ialloc.c 8.28"; +static char elsieid[] = "@(#)ialloc.c 8.29"; #endif /* !defined NOID */ #endif /* !defined lint */ @@ -10,13 +10,6 @@ static char elsieid[] = "@(#)ialloc.c 8.28"; #define nonzero(n) (((n) == 0) ? 1 : (n)) -char * icalloc P((int nelem, int elsize)); -char * icatalloc P((char * old, const char * new)); -char * icpyalloc P((const char * string)); -char * imalloc P((int n)); -void * irealloc P((void * pointer, int size)); -void ifree P((char * pointer)); - char * imalloc(n) const int n; diff --git a/time/private.h b/time/private.h index f81bf4867b..5a5b516d0f 100644 --- a/time/private.h +++ b/time/private.h @@ -4,7 +4,7 @@ /* ** This file is in the public domain, so clarified as of -** June 5, 1996 by Arthur David Olson (arthur_david_olson@nih.gov). +** 1996-06-05 by Arthur David Olson (arthur_david_olson@nih.gov). */ /* @@ -21,7 +21,7 @@ #ifndef lint #ifndef NOID -static char privatehid[] = "@(#)private.h 7.43"; +static char privatehid[] = "@(#)private.h 7.45"; #endif /* !defined NOID */ #endif /* !defined lint */ @@ -172,6 +172,19 @@ extern int unlink P((const char * filename)); extern int errno; #endif /* !defined errno */ +/* +** Private function declarations. +*/ +char * icalloc P((int nelem, int elsize)); +char * icatalloc P((char * old, const char * new)); +char * icpyalloc P((const char * string)); +char * imalloc P((int n)); +void * irealloc P((void * pointer, int size)); +void icfree P((char * pointer)); +void ifree P((char * pointer)); +char * scheck P((const char *string, char *format)); + + /* ** Finally, some convenience items. */ diff --git a/time/scheck.c b/time/scheck.c index 64f25076ed..b51f58d042 100644 --- a/time/scheck.c +++ b/time/scheck.c @@ -1,6 +1,6 @@ #ifndef lint #ifndef NOID -static char elsieid[] = "@(#)scheck.c 8.13"; +static char elsieid[] = "@(#)scheck.c 8.14"; #endif /* !defined lint */ #endif /* !defined NOID */ @@ -8,9 +8,6 @@ static char elsieid[] = "@(#)scheck.c 8.13"; #include "private.h" -extern char * imalloc P((int n)); -extern void ifree P((char * p)); - char * scheck(string, format) const char * const string; diff --git a/time/tzfile.c b/time/tzfile.c index 94b8a3c8fe..44b33cb02c 100644 --- a/time/tzfile.c +++ b/time/tzfile.c @@ -120,7 +120,7 @@ __tzfile_read (const char *file) and which is not the system wide default TZDEFAULT. */ if (__libc_enable_secure && ((*file == '/' - && memcmp (file, TZDEFAULT, sizeof (TZDEFAULT) - 1) + && memcmp (file, TZDEFAULT, sizeof TZDEFAULT) && memcmp (file, default_tzdir, sizeof (default_tzdir) - 1)) || strstr (file, "../") != NULL)) /* This test is certainly a bit too restrictive but it should diff --git a/time/tzselect.ksh b/time/tzselect.ksh index 33bdbc7431..031cda1de6 100644 --- a/time/tzselect.ksh +++ b/time/tzselect.ksh @@ -11,23 +11,20 @@ # you can use either of the following free programs instead: # # Bourne-Again shell (bash) -# -# (or any later version) +# # # Public domain ksh -# +# # # This script also uses several features of modern awk programs. # If your host lacks awk, or has an old awk that does not conform to Posix.2, # you can use either of the following free programs instead: # # GNU awk (gawk) -# -# (or any later version) +# # # mawk -# -# (or any later version) +# # Specify default values for environment variables if they are unset. @@ -57,7 +54,7 @@ newline=' IFS=$newline -# Work around a bash bug, where $PS3 is sent to stdout. +# Work around a bug in bash 1.14.7 and earlier, where $PS3 is sent to stdout. case $(echo 1 | (select x in x; do break; done) 2>/dev/null) in ?*) PS3= esac diff --git a/time/zdump.c b/time/zdump.c index e5ed82f104..01c79ca7fb 100644 --- a/time/zdump.c +++ b/time/zdump.c @@ -1,6 +1,6 @@ #ifndef lint #ifndef NOID -static char elsieid[] = "@(#)zdump.c 7.25"; +static char elsieid[] = "@(#)zdump.c 7.26"; #endif /* !defined NOID */ #endif /* !defined lint */ @@ -111,19 +111,28 @@ static char elsieid[] = "@(#)zdump.c 7.25"; #define TZ_DOMAIN "tz" #endif /* !defined TZ_DOMAIN */ +#ifndef P +#ifdef __STDC__ +#define P(x) x +#endif /* defined __STDC__ */ +#ifndef __STDC__ +#define P(x) () +#endif /* !defined __STDC__ */ +#endif /* !defined P */ + extern char ** environ; -extern int getopt(); +extern int getopt P((int argc, char * const argv[], + const char * options)); extern char * optarg; extern int optind; -extern time_t time(); extern char * tzname[2]; -static char * abbr(); -static long delta(); -static time_t hunt(); -static int longest; +static char * abbr P((struct tm * tmp)); +static long delta P((struct tm * newp, struct tm * oldp)); +static time_t hunt P((char * name, time_t lot, time_t hit)); +static size_t longest; static char * progname; -static void show(); +static void show P((char * zone, time_t t, int v)); int main(argc, argv) @@ -191,8 +200,7 @@ _("%s: usage is %s [ -v ] [ -c cutoff ] zonename ...\n"), fakeenv = (char **) malloc((size_t) ((i + 2) * sizeof *fakeenv)); if (fakeenv == NULL || - (fakeenv[0] = (char *) malloc((size_t) (longest + - 4))) == NULL) { + (fakeenv[0] = (char *) malloc(longest + 4)) == NULL) { (void) perror(progname); (void) exit(EXIT_FAILURE); } @@ -326,8 +334,6 @@ struct tm * oldp; return result; } -extern struct tm * localtime(); - static void show(zone, t, v) char * zone; @@ -336,7 +342,7 @@ int v; { struct tm * tmp; - (void) printf("%-*s ", longest, zone); + (void) printf("%-*s ", (int) longest, zone); if (v) (void) printf("%.24s GMT = ", asctime(gmtime(&t))); tmp = localtime(&t); diff --git a/time/zic.c b/time/zic.c index c4c9a3ae25..b9518c4649 100644 --- a/time/zic.c +++ b/time/zic.c @@ -1,6 +1,6 @@ #ifndef lint #ifndef NOID -static char elsieid[] = "@(#)zic.c 7.82"; +static char elsieid[] = "@(#)zic.c 7.83"; #endif /* !defined NOID */ #endif /* !defined lint */ @@ -79,15 +79,9 @@ struct zone { extern int getopt P((int argc, char * const argv[], const char * options)); -extern char * icatalloc P((char * old, const char * new)); -extern char * icpyalloc P((const char * string)); -extern void ifree P((char * p)); -extern char * imalloc P((int n)); -extern void * irealloc P((void * old, int n)); extern int link P((const char * fromname, const char * toname)); extern char * optarg; extern int optind; -extern char * scheck P((const char * string, const char * format)); static void addtt P((time_t starttime, int type)); static int addtype P((long gmtoff, const char * abbr, int isdst, @@ -1289,6 +1283,8 @@ const char * const timep; } rp->r_yrtype = ecpyalloc(typep); } + if (rp->r_loyear < min_year && rp->r_loyear > 0) + min_year = rp->r_loyear; /* ** Day work. ** Accept things such as: @@ -1397,8 +1393,10 @@ const char * const name; toi = 0; fromi = 0; + while (fromi < timecnt && attypes[fromi].at < min_time) + ++fromi; if (isdsts[0] == 0) - while (attypes[fromi].type == 0) + while (fromi < timecnt && attypes[fromi].type == 0) ++fromi; /* handled by default rule */ for ( ; fromi < timecnt; ++fromi) { if (toi != 0 @@ -1723,8 +1721,22 @@ error(_("can't determine time zone abbreviation to use just after until time")); static void addtt(starttime, type) const time_t starttime; -const int type; +int type; { + if (starttime <= min_time || + (timecnt == 1 && attypes[0].at < min_time)) { + gmtoffs[0] = gmtoffs[type]; + isdsts[0] = isdsts[type]; + ttisstds[0] = ttisstds[type]; + ttisgmts[0] = ttisgmts[type]; + if (abbrinds[type] != 0) + (void) strcpy(chars, &chars[abbrinds[type]]); + abbrinds[0] = 0; + charcnt = strlen(chars) + 1; + typecnt = 1; + timecnt = 0; + type = 0; + } if (timecnt >= TZ_MAX_TIMES) { error(_("too many transitions?!")); (void) exit(EXIT_FAILURE); @@ -2130,7 +2142,7 @@ char * const argname; ** created by some other multiprocessor, so we get ** to do extra checking. */ - if (mkdir(name, 0755) != 0) { + if (mkdir(name, S_IRUSR|S_IWUSR|S_IXUSR|S_IRGRP|S_IXGRP|S_IROTH|S_IXOTH) != 0) { const char *e = strerror(errno); if (errno != EEXIST || !itsdir(name)) { diff --git a/time/zone.tab b/time/zone.tab index 6d91b4ea6c..074749916a 100644 --- a/time/zone.tab +++ b/time/zone.tab @@ -34,7 +34,7 @@ AQ -9000+00000 Antarctica/South_Pole Amundsen-Scott Station, South Pole AQ -6448-06406 Antarctica/Palmer Palmer Station, Anvers Island AQ -6736+06253 Antarctica/Mawson Mawson Station, Holme Bay AQ -6617+11031 Antarctica/Casey Casey Station, Bailey Peninsula -AQ -6040+14001 Antarctica/DumontDUrville Dumont-d'Urville Base, Terre Adelie +AQ -6640+14001 Antarctica/DumontDUrville Dumont-d'Urville Base, Terre Adelie AR -3436-05827 America/Buenos_Aires E Argentina (BA, DF, SC, TF) AR -3257-06040 America/Rosario NE Argentina (SF, ER, CN, MN, CC, FM, LP, CH) AR -3124-06411 America/Cordoba W Argentina (CB, SA, TM, LR, SJ, SL, NQ, RN) -- cgit 1.4.1