
Below are proposed minor cleanups for the time zone code. 1. There's a change to the declarations of the "scheck" function to avoid a lint gripe. 2. Preprocessor directives of the form #if WHATEVER - 0 have been changed to the form #if WHATEVER under the assumption that we're working with ANSI standard compilers. 3. The underscored variants of definitions of constants such as SECSPERDAY have been eliminated, in line with a long-standing comment in the code. 4. And the bulk of the changes are cleanups to white space and line lengths. --ado diff -r -c old/Makefile new/Makefile *** old/Makefile Mon Jan 31 09:21:22 2005 --- new/Makefile Mon Jan 31 14:06:12 2005 *************** *** 1,4 **** ! # @(#)Makefile 7.106 # 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.107 # 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). *************** *** 398,404 **** tar cf - $(DOCS) $(SOURCES) $(MISC) *.[1-8].txt | gzip -9 > tzcode.tar.gz tar cf - $(DATA) | gzip -9 > tzdata.tar.gz ! typecheck: make clean for i in "long long" unsigned double; \ do \ --- 398,404 ---- tar cf - $(DOCS) $(SOURCES) $(MISC) *.[1-8].txt | gzip -9 > tzcode.tar.gz tar cf - $(DATA) | gzip -9 > tzdata.tar.gz ! typecheck: make clean for i in "long long" unsigned double; \ do \ diff -r -c old/asctime.c new/asctime.c *** old/asctime.c Mon Jan 31 09:20:46 2005 --- new/asctime.c Mon Jan 31 14:06:49 2005 *************** *** 11,17 **** #ifndef lint #ifndef NOID ! static char elsieid[] = "@(#)asctime.c 7.30"; #endif /* !defined NOID */ #endif /* !defined lint */ --- 11,17 ---- #ifndef lint #ifndef NOID ! static char elsieid[] = "@(#)asctime.c 7.31"; #endif /* !defined NOID */ #endif /* !defined lint */ *************** *** 98,104 **** /* ** We avoid using snprintf since it's not available on all systems. */ ! (void) sprintf(result, ((strlen(year) <= 4) ? ASCTIME_FMT : ASCTIME_FMT_B), wn, mn, timeptr->tm_mday, timeptr->tm_hour, --- 98,104 ---- /* ** We avoid using snprintf since it's not available on all systems. */ ! (void) sprintf(result, ((strlen(year) <= 4) ? ASCTIME_FMT : ASCTIME_FMT_B), wn, mn, timeptr->tm_mday, timeptr->tm_hour, diff -r -c old/asia new/asia *** old/asia Mon Jan 17 18:36:16 2005 --- new/asia Mon Jan 31 14:06:50 2005 *************** *** 1,4 **** ! # @(#)asia 7.78 # 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 --- 1,4 ---- ! # @(#)asia 7.79 # 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 *************** *** 337,343 **** # President Eduard Shevardnadze decreed Wednesday. # # From the BBC via Joseph S. Myers (2004-06-27): ! # # Georgia moved closer to Western Europe on Sunday... The former Soviet # republic has changed its time zone back to that of Moscow. As a result it # is now just four hours ahead of Greenwich Mean Time, rather than five hours --- 337,343 ---- # President Eduard Shevardnadze decreed Wednesday. # # From the BBC via Joseph S. Myers (2004-06-27): ! # # Georgia moved closer to Western Europe on Sunday... The former Soviet # republic has changed its time zone back to that of Moscow. As a result it # is now just four hours ahead of Greenwich Mean Time, rather than five hours diff -r -c old/date.c new/date.c *** old/date.c Mon Jan 31 09:20:47 2005 --- new/date.c Mon Jan 31 14:06:49 2005 *************** *** 1,6 **** #ifndef lint #ifndef NOID ! static char elsieid[] = "@(#)date.c 7.40"; /* ** Modified from the UCB version with the SCCS ID appearing below. */ --- 1,6 ---- #ifndef lint #ifndef NOID ! static char elsieid[] = "@(#)date.c 7.41"; /* ** Modified from the UCB version with the SCCS ID appearing below. */ *************** *** 664,670 **** cp = value; switch (dotp - cp) { default: ! wildinput(_("time"), value, _("main part is wrong length")); case 12: if (!dousg) { cent = ATOI2(cp); --- 664,671 ---- cp = value; switch (dotp - cp) { default: ! wildinput(_("time"), value, ! _("main part is wrong length")); case 12: if (!dousg) { cent = ATOI2(cp); diff -r -c old/difftime.c new/difftime.c *** old/difftime.c Mon Jan 31 09:20:47 2005 --- new/difftime.c Mon Jan 31 14:06:49 2005 *************** *** 5,11 **** #ifndef lint #ifndef NOID ! static char elsieid[] = "@(#)difftime.c 7.17"; #endif /* !defined NOID */ #endif /* !defined lint */ --- 5,11 ---- #ifndef lint #ifndef NOID ! static char elsieid[] = "@(#)difftime.c 7.18"; #endif /* !defined NOID */ #endif /* !defined lint */ *************** *** 57,63 **** /* ** Stay calm...decent optimizers will eliminate the complexity below. */ ! if (time1 >= 0 /* && time0 < 0 */) return (unsigned long) time1 + (unsigned long) (-(time0 + 1)) + 1; return -(double) ((unsigned long) time0 + --- 57,63 ---- /* ** Stay calm...decent optimizers will eliminate the complexity below. */ ! if (time1 >= 0 /* && time0 < 0 */) return (unsigned long) time1 + (unsigned long) (-(time0 + 1)) + 1; return -(double) ((unsigned long) time0 + diff -r -c old/leapseconds new/leapseconds *** old/leapseconds Mon Jan 17 18:36:18 2005 --- new/leapseconds Mon Jan 31 14:06:50 2005 *************** *** 1,4 **** ! # @(#)leapseconds 7.18 # Allowance for leapseconds added to each timezone file. --- 1,4 ---- ! # @(#)leapseconds 7.19 # Allowance for leapseconds added to each timezone file. *************** *** 44,52 **** Leap 1997 Jun 30 23:59:60 + S Leap 1998 Dec 31 23:59:60 + S ! # INTERNATIONAL EARTH ROTATION AND REFERENCE SYSTEMS SERVICE (IERS) # SERVICE INTERNATIONAL DE LA ROTATION TERRESTRE ET DES SYSTEMES DE REFERENCE ! # # SERVICE DE LA ROTATION TERRESTRE # OBSERVATOIRE DE PARIS # 61, Av. de l'Observatoire 75014 PARIS (France) --- 44,52 ---- Leap 1997 Jun 30 23:59:60 + S Leap 1998 Dec 31 23:59:60 + S ! # INTERNATIONAL EARTH ROTATION AND REFERENCE SYSTEMS SERVICE (IERS) # SERVICE INTERNATIONAL DE LA ROTATION TERRESTRE ET DES SYSTEMES DE REFERENCE ! # # SERVICE DE LA ROTATION TERRESTRE # OBSERVATOIRE DE PARIS # 61, Av. de l'Observatoire 75014 PARIS (France) *************** *** 53,80 **** # Tel. : 33 (0) 1 40 51 22 26 # FAX : 33 (0) 1 40 51 22 91 # Internet : services.iers@obspm.fr ! # ! # Paris, 21 July 2004 ! # ! # ! # Bulletin C 28 ! # ! # To authorities responsible ! # for the measurement and ! # distribution of time ! # ! # INFORMATION ON UTC - TAI ! # # NO positive leap second will be introduced at the end of December 2004. # The difference between UTC and the International Atomic Time TAI is: ! # ! # from 1999 January 1, 0h UTC, until further notice : UTC-TAI = -32 s ! # # Leap seconds can be introduced in UTC at the end of the months of December # or June, depending on the evolution of UT1-TAI. Bulletin C is mailed every # six months, either to announce a time step in UTC, or to confirm that there # will be no time step at the next possible date. ! # ! # Daniel GAMBIS ! # Director ! # Earth Orientation Center of IERS --- 53,80 ---- # Tel. : 33 (0) 1 40 51 22 26 # FAX : 33 (0) 1 40 51 22 91 # Internet : services.iers@obspm.fr ! # ! # Paris, 21 July 2004 ! # ! # ! # Bulletin C 28 ! # ! # To authorities responsible ! # for the measurement and ! # distribution of time ! # ! # INFORMATION ON UTC - TAI ! # # NO positive leap second will be introduced at the end of December 2004. # The difference between UTC and the International Atomic Time TAI is: ! # ! # from 1999 January 1, 0h UTC, until further notice : UTC-TAI = -32 s ! # # Leap seconds can be introduced in UTC at the end of the months of December # or June, depending on the evolution of UT1-TAI. Bulletin C is mailed every # six months, either to announce a time step in UTC, or to confirm that there # will be no time step at the next possible date. ! # ! # Daniel GAMBIS ! # Director ! # Earth Orientation Center of IERS diff -r -c old/localtime.c new/localtime.c *** old/localtime.c Mon Jan 31 09:20:46 2005 --- new/localtime.c Mon Jan 31 14:09:31 2005 *************** *** 5,11 **** #ifndef lint #ifndef NOID ! static char elsieid[] = "@(#)localtime.c 7.90"; #endif /* !defined NOID */ #endif /* !defined lint */ --- 5,11 ---- #ifndef lint #ifndef NOID ! static char elsieid[] = "@(#)localtime.c 7.91"; #endif /* !defined NOID */ #endif /* !defined lint */ *************** *** 47,55 **** ** 5. They might reference tm.TM_ZONE after calling offtime. ** What's best to do in the above cases is open to debate; ** for now, we just set things up so that in any of the five cases ! ** WILDABBR is used. Another possibility: initialize tzname[0] to the ** string "tzname[0] used before set", and similarly for the other cases. ! ** And another: initialize tzname[0] to "ERA", with an explanation in the ** manual page of what this "time zone abbreviation" means (doing this so ** that tzname[0] has the "normal" length of three characters). */ --- 47,55 ---- ** 5. They might reference tm.TM_ZONE after calling offtime. ** What's best to do in the above cases is open to debate; ** for now, we just set things up so that in any of the five cases ! ** WILDABBR is used. Another possibility: initialize tzname[0] to the ** string "tzname[0] used before set", and similarly for the other cases. ! ** And another: initialize tzname[0] to "ERA", with an explanation in the ** manual page of what this "time zone abbreviation" means (doing this so ** that tzname[0] has the "normal" length of three characters). */ *************** *** 453,459 **** /* ** Given a pointer into a time zone string, scan until a character that is not ! ** a valid character in a zone name is found. Return a pointer to that ** character. */ --- 453,459 ---- /* ** Given a pointer into a time zone string, scan until a character that is not ! ** a valid character in a zone name is found. Return a pointer to that ** character. */ *************** *** 534,540 **** *secsp += num * SECSPERMIN; if (*strp == ':') { ++strp; ! /* `SECSPERMIN' allows for leap seconds. */ strp = getnum(strp, &num, 0, SECSPERMIN); if (strp == NULL) return NULL; --- 534,540 ---- *secsp += num * SECSPERMIN; if (*strp == ':') { ++strp; ! /* `SECSPERMIN' allows for leap seconds. */ strp = getnum(strp, &num, 0, SECSPERMIN); if (strp == NULL) return NULL; *************** *** 573,579 **** /* ** Given a pointer into a time zone string, extract a rule in the form ! ** date[/time]. See POSIX section 8 for the format of "date" and "time". ** If a valid rule is not found, return NULL. ** Otherwise, return a pointer to the first character not part of the rule. */ --- 573,579 ---- /* ** Given a pointer into a time zone string, extract a rule in the form ! ** date[/time]. See POSIX section 8 for the format of "date" and "time". ** If a valid rule is not found, return NULL. ** Otherwise, return a pointer to the first character not part of the rule. */ *************** *** 692,698 **** dow += DAYSPERWEEK; /* ! ** "dow" is the day-of-week of the first day of the month. Get ** the day-of-month (zero-origin) of the first "dow" day of the ** month. */ --- 692,698 ---- dow += DAYSPERWEEK; /* ! ** "dow" is the day-of-week of the first day of the month. Get ** the day-of-month (zero-origin) of the first "dow" day of the ** month. */ *************** *** 715,721 **** /* ** "value" is the Epoch-relative time of 00:00:00 UTC on the day in ! ** question. To get the Epoch-relative time of the specified local ** time on that day, add the transition time and the current offset ** from UTC. */ --- 715,721 ---- /* ** "value" is the Epoch-relative time of 00:00:00 UTC on the day in ! ** question. To get the Epoch-relative time of the specified local ** time on that day, add the transition time and the current offset ** from UTC. */ *************** *** 1022,1028 **** /* ** The easy way to behave "as if no library function calls" localtime ** is to not call it--so we drop its guts into "localsub", which can be ! ** freely called. (And no, the PANS doesn't require the above behavior-- ** but it *is* desirable.) ** ** The unused offset argument is for the benefit of mktime variants. --- 1022,1028 ---- /* ** The easy way to behave "as if no library function calls" localtime ** is to not call it--so we drop its guts into "localsub", which can be ! ** freely called. (And no, the PANS doesn't require the above behavior-- ** but it *is* desirable.) ** ** The unused offset argument is for the benefit of mktime variants. *************** *** 1178,1184 **** leaps_thru_end_of(y) register const int y; { ! return (y >= 0) ? (y / 4 - y / 100 + y / 400) : -(leaps_thru_end_of(-(y + 1)) + 1); } --- 1178,1184 ---- leaps_thru_end_of(y) register const int y; { ! return (y >= 0) ? (y / 4 - y / 100 + y / 400) : -(leaps_thru_end_of(-(y + 1)) + 1); } *************** *** 1302,1308 **** tmp->tm_min = (int) (rem / SECSPERMIN); /* ** A positive leap second requires a special ! ** representation. This uses "... ??:59:60" et seq. */ tmp->tm_sec = (int) (rem % SECSPERMIN) + hit; ip = mon_lengths[isleap(y)]; --- 1302,1308 ---- tmp->tm_min = (int) (rem / SECSPERMIN); /* ** A positive leap second requires a special ! ** representation. This uses "... ??:59:60" et seq. */ tmp->tm_sec = (int) (rem % SECSPERMIN) + hit; ip = mon_lengths[isleap(y)]; *************** *** 1323,1329 **** /* ** Section 4.12.3.2 of X3.159-1989 requires that ** The ctime function converts the calendar time pointed to by timer ! ** to local time in the form of a string. It is equivalent to ** asctime(localtime(timer)) */ return asctime(localtime(timep)); --- 1323,1329 ---- /* ** Section 4.12.3.2 of X3.159-1989 requires that ** The ctime function converts the calendar time pointed to by timer ! ** to local time in the form of a string. It is equivalent to ** asctime(localtime(timer)) */ return asctime(localtime(timep)); *************** *** 1344,1350 **** ** The "best" way to do mktime I think is based on an idea of Bob ** Kridle's (so its said...) from a long time ago. ** [kridle@xinet.com as of 1996-01-16.] ! ** It does a binary search of the time_t space. Since time_t's are ** just 32 bits, its a max of 32 iterations (even at 64 bits it ** would still be very reasonable). */ --- 1344,1350 ---- ** The "best" way to do mktime I think is based on an idea of Bob ** Kridle's (so its said...) from a long time ago. ** [kridle@xinet.com as of 1996-01-16.] ! ** It does a binary search of the time_t space. Since time_t's are ** just 32 bits, its a max of 32 iterations (even at 64 bits it ** would still be very reasonable). */ *************** *** 1494,1500 **** return WRONG; yourtm.tm_year = y; if (yourtm.tm_year != y) ! return WRONG; if (yourtm.tm_sec >= 0 && yourtm.tm_sec < SECSPERMIN) saved_seconds = 0; else if (y + TM_YEAR_BASE < EPOCH_YEAR) { --- 1494,1500 ---- return WRONG; yourtm.tm_year = y; if (yourtm.tm_year != y) ! return WRONG; if (yourtm.tm_sec >= 0 && yourtm.tm_sec < SECSPERMIN) saved_seconds = 0; else if (y + TM_YEAR_BASE < EPOCH_YEAR) { *************** *** 1813,1819 **** tzset(); /* ** For a positive leap second hit, the result ! ** is not unique. For a negative leap second ** hit, the corresponding time doesn't exist, ** so we return an adjacent second. */ --- 1813,1819 ---- tzset(); /* ** For a positive leap second hit, the result ! ** is not unique. For a negative leap second ** hit, the corresponding time doesn't exist, ** so we return an adjacent second. */ diff -r -c old/newstrftime.3 new/newstrftime.3 *** old/newstrftime.3 Mon Jan 31 09:20:46 2005 --- new/newstrftime.3 Mon Jan 31 14:06:49 2005 *************** *** 151,163 **** is replaced by a newline. .TP %p ! is replaced by the locale's equivalent of either AM or PM. .TP %R is replaced by the time in the format %H:%M. .TP %r ! is replaced by the locale's representation of 12-hour clock time using AM/PM notation. .TP %S --- 151,163 ---- is replaced by a newline. .TP %p ! is replaced by the locale's equivalent of either AM or PM. .TP %R is replaced by the time in the format %H:%M. .TP %r ! is replaced by the locale's representation of 12-hour clock time using AM/PM notation. .TP %S *************** *** 227,230 **** newtzset(3), time(2), tzfile(5) ! .\" @(#)newstrftime.3 7.14 --- 227,230 ---- newtzset(3), time(2), tzfile(5) ! .\" @(#)newstrftime.3 7.15 diff -r -c old/northamerica new/northamerica *** old/northamerica Mon Jan 17 18:36:17 2005 --- new/northamerica Mon Jan 31 14:06:50 2005 *************** *** 1,4 **** ! # @(#)northamerica 7.71 # also includes Central America and the Caribbean # This data is by no means authoritative; if you think you know better, --- 1,4 ---- ! # @(#)northamerica 7.72 # also includes Central America and the Caribbean # This data is by no means authoritative; if you think you know better, *************** *** 445,451 **** # Lemhi, Lincoln, Madison, Minidoka, Oneida, Owyhee, Payette, Power, # Teton, Twin Falls, Valley, Washington counties) and eastern Oregon # switched four weeks late in 1974. ! # # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone America/Boise -7:44:49 - LMT 1883 Nov 18 12:00 -8:00 US P%sT 1923 May 13 2:00 --- 445,451 ---- # Lemhi, Lincoln, Madison, Minidoka, Oneida, Owyhee, Payette, Power, # Teton, Twin Falls, Valley, Washington counties) and eastern Oregon # switched four weeks late in 1974. ! # # Zone NAME GMTOFF RULES FORMAT [UNTIL] Zone America/Boise -7:44:49 - LMT 1883 Nov 18 12:00 -8:00 US P%sT 1923 May 13 2:00 diff -r -c old/private.h new/private.h *** old/private.h Mon Jan 31 09:19:08 2005 --- new/private.h Mon Jan 31 14:06:49 2005 *************** *** 91,103 **** #include "time.h" #include "stdlib.h" ! #if HAVE_GETTEXT - 0 #include "libintl.h" ! #endif /* HAVE_GETTEXT - 0 */ ! #if HAVE_SYS_WAIT_H - 0 #include <sys/wait.h> /* for WIFEXITED and WEXITSTATUS */ ! #endif /* HAVE_SYS_WAIT_H - 0 */ #ifndef WIFEXITED #define WIFEXITED(status) (((status) & 0xff) == 0) --- 91,103 ---- #include "time.h" #include "stdlib.h" ! #if HAVE_GETTEXT #include "libintl.h" ! #endif /* HAVE_GETTEXT */ ! #if HAVE_SYS_WAIT_H #include <sys/wait.h> /* for WIFEXITED and WEXITSTATUS */ ! #endif /* HAVE_SYS_WAIT_H */ #ifndef WIFEXITED #define WIFEXITED(status) (((status) & 0xff) == 0) *************** *** 106,116 **** #define WEXITSTATUS(status) (((status) >> 8) & 0xff) #endif /* !defined WEXITSTATUS */ ! #if HAVE_UNISTD_H - 0 #include "unistd.h" /* for F_OK and R_OK */ ! #endif /* HAVE_UNISTD_H - 0 */ ! #if !(HAVE_UNISTD_H - 0) #ifndef F_OK #define F_OK 0 #endif /* !defined F_OK */ --- 106,116 ---- #define WEXITSTATUS(status) (((status) >> 8) & 0xff) #endif /* !defined WEXITSTATUS */ ! #if HAVE_UNISTD_H #include "unistd.h" /* for F_OK and R_OK */ ! #endif /* HAVE_UNISTD_H */ ! #if !HAVE_UNISTD_H #ifndef F_OK #define F_OK 0 #endif /* !defined F_OK */ *************** *** 117,125 **** #ifndef R_OK #define R_OK 4 #endif /* !defined R_OK */ ! #endif /* !(HAVE_UNISTD_H - 0) */ ! /* Unlike <ctype.h>'s isdigit, this also works if c < 0 | c > UCHAR_MAX. */ #define is_digit(c) ((unsigned)(c) - '0' <= 9) /* --- 117,125 ---- #ifndef R_OK #define R_OK 4 #endif /* !defined R_OK */ ! #endif /* !HAVE_UNISTD_H */ ! /* Unlike <ctype.h>'s isdigit, this also works if c < 0 | c > UCHAR_MAX. */ #define is_digit(c) ((unsigned)(c) - '0' <= 9) /* *************** *** 216,222 **** void * irealloc P((void * pointer, int size)); void icfree P((char * pointer)); void ifree P((char * pointer)); ! char * scheck P((const char *string, const char *format)); /* ** Finally, some convenience items. --- 216,222 ---- 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. *************** *** 255,261 **** ** add one more for a minus sign if the type is signed. */ #define INT_STRLEN_MAXIMUM(type) \ ! ((TYPE_BIT(type) - TYPE_SIGNED(type)) * 302 / 1000 + 1 + TYPE_SIGNED(type)) #endif /* !defined INT_STRLEN_MAXIMUM */ /* --- 255,262 ---- ** add one more for a minus sign if the type is signed. */ #define INT_STRLEN_MAXIMUM(type) \ ! ((TYPE_BIT(type) - TYPE_SIGNED(type)) * 302 / 1000 + \ ! 1 + TYPE_SIGNED(type)) #endif /* !defined INT_STRLEN_MAXIMUM */ /* *************** *** 289,299 **** */ #ifndef _ ! #if HAVE_GETTEXT - 0 #define _(msgid) gettext(msgid) ! #else /* !(HAVE_GETTEXT - 0) */ #define _(msgid) msgid ! #endif /* !(HAVE_GETTEXT - 0) */ #endif /* !defined _ */ #ifndef TZ_DOMAIN --- 290,300 ---- */ #ifndef _ ! #if HAVE_GETTEXT #define _(msgid) gettext(msgid) ! #else /* !HAVE_GETTEXT */ #define _(msgid) msgid ! #endif /* !HAVE_GETTEXT */ #endif /* !defined _ */ #ifndef TZ_DOMAIN diff -r -c old/scheck.c new/scheck.c *** old/scheck.c Mon Jan 31 09:20:47 2005 --- new/scheck.c Mon Jan 31 14:06:49 2005 *************** *** 1,6 **** #ifndef lint #ifndef NOID ! static char elsieid[] = "@(#)scheck.c 8.15"; #endif /* !defined lint */ #endif /* !defined NOID */ --- 1,6 ---- #ifndef lint #ifndef NOID ! static char elsieid[] = "@(#)scheck.c 8.16"; #endif /* !defined lint */ #endif /* !defined NOID */ *************** *** 11,17 **** char * scheck(string, format) const char * const string; ! const char * const format; { register char * fbuf; register const char * fp; --- 11,17 ---- char * scheck(string, format) const char * const string; ! char * const format; { register char * fbuf; register const char * fp; diff -r -c old/southamerica new/southamerica *** old/southamerica Mon Jan 17 18:36:17 2005 --- new/southamerica Mon Jan 31 14:06:50 2005 *************** *** 1,4 **** ! # @(#)southamerica 7.57 # 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 --- 1,4 ---- ! # @(#)southamerica 7.58 # 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 *************** *** 964,970 **** # # <a href="news:xrGmb.39935$gA1.13896113@news4.srv.hcvlny.cv.net"> # From Evelyn C. Leeper via Mark Brader (2003-10-26):</a> ! # When we were in Peru in 1985-1986, they apparently switched over # sometime between December 29 and January 3 while we were on the Amazon. # # From Paul Eggert (2003-11-02): --- 964,970 ---- # # <a href="news:xrGmb.39935$gA1.13896113@news4.srv.hcvlny.cv.net"> # From Evelyn C. Leeper via Mark Brader (2003-10-26):</a> ! # When we were in Peru in 1985-1986, they apparently switched over # sometime between December 29 and January 3 while we were on the Amazon. # # From Paul Eggert (2003-11-02): diff -r -c old/strftime.c new/strftime.c *** old/strftime.c Mon Jan 31 09:20:47 2005 --- new/strftime.c Mon Jan 31 14:06:50 2005 *************** *** 1,6 **** #ifndef lint #ifndef NOID ! static char elsieid[] = "@(#)strftime.c 7.74"; /* ** Based on the UCB version with the ID appearing below. ** This is ANSIish only when "multibyte character == plain character". --- 1,6 ---- #ifndef lint #ifndef NOID ! static char elsieid[] = "@(#)strftime.c 7.75"; /* ** Based on the UCB version with the ID appearing below. ** This is ANSIish only when "multibyte character == plain character". *************** *** 19,25 **** ** duplicated in all such forms and that any documentation, ** advertising materials, and other materials related to such ** distribution and use acknowledge that the software was developed ! ** by the University of California, Berkeley. The name of the ** University may not be used to endorse or promote products derived ** from this software without specific prior written permission. ** THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR --- 19,25 ---- ** duplicated in all such forms and that any documentation, ** advertising materials, and other materials related to such ** distribution and use acknowledge that the software was developed ! ** by the University of California, Berkeley. The name of the ** University may not be used to endorse or promote products derived ** from this software without specific prior written permission. ** THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR *************** *** 91,97 **** ** C99 requires this format. ** Previously this code used "%D %X", but we now conform to C99. ** Note that ! ** "%a %b %d %H:%M:%S %Y" ** is used by Solaris 2.3. */ "%a %b %e %T %Y", --- 91,97 ---- ** C99 requires this format. ** Previously this code used "%D %X", but we now conform to C99. ** Note that ! ** "%a %b %d %H:%M:%S %Y" ** is used by Solaris 2.3. */ "%a %b %e %T %Y", *************** *** 108,114 **** static char * _add P((const char *, char *, const char *)); static char * _conv P((int, const char *, char *, const char *)); ! static char * _fmt P((const char *, const struct tm *, char *, const char *, int *)); static char * _yconv P((int, int, int, int, char *, const char *)); extern char * tzname[]; --- 108,115 ---- static char * _add P((const char *, char *, const char *)); static char * _conv P((int, const char *, char *, const char *)); ! static char * _fmt P((const char *, const struct tm *, char *, const char *, ! int *)); static char * _yconv P((int, int, int, int, char *, const char *)); extern char * tzname[]; *************** *** 264,270 **** ** t->tm_hour % 12 : 12, 2, ' '); ** ...and has been changed to the below to ** match SunOS 4.1.1 and Arnold Robbins' ! ** strftime version 3.0. That is, "%k" and ** "%l" have been swapped. ** (ado, 1993-05-24) */ --- 265,271 ---- ** t->tm_hour % 12 : 12, 2, ' '); ** ...and has been changed to the below to ** match SunOS 4.1.1 and Arnold Robbins' ! ** strftime version 3.0. That is, "%k" and ** "%l" have been swapped. ** (ado, 1993-05-24) */ *************** *** 284,290 **** ** _conv(t->tm_hour, 2, ' '); ** ...and has been changed to the below to ** match SunOS 4.1.1 and Arnold Robbin's ! ** strftime version 3.0. That is, "%k" and ** "%l" have been swapped. ** (ado, 1993-05-24) */ --- 285,291 ---- ** _conv(t->tm_hour, 2, ' '); ** ...and has been changed to the below to ** match SunOS 4.1.1 and Arnold Robbin's ! ** strftime version 3.0. That is, "%k" and ** "%l" have been swapped. ** (ado, 1993-05-24) */ *************** *** 359,365 **** case 'G': /* ISO 8601 year (four digits) */ case 'g': /* ISO 8601 year (two digits) */ /* ! ** From Arnold Robbins' strftime version 3.0: "the week number of the ** year (the first Monday as the first day of week 1) as a decimal number ** (01-53)." ** (ado, 1993-05-24) --- 360,366 ---- case 'G': /* ISO 8601 year (four digits) */ case 'g': /* ISO 8601 year (two digits) */ /* ! ** From Arnold Robbins' strftime version 3.0: "the week number of the ** year (the first Monday as the first day of week 1) as a decimal number ** (01-53)." ** (ado, 1993-05-24) *************** *** 372,378 **** ** might also contain days from the previous year and the week before week ** 01 of a year is the last week (52 or 53) of the previous year even if ** it contains days from the new year. A week starts with Monday (day 1) ! ** and ends with Sunday (day 7). For example, the first week of the year ** 1997 lasts from 1996-12-30 to 1997-01-05..." ** (ado, 1996-01-02) */ --- 373,379 ---- ** might also contain days from the previous year and the week before week ** 01 of a year is the last week (52 or 53) of the previous year even if ** it contains days from the new year. A week starts with Monday (day 1) ! ** and ends with Sunday (day 7). For example, the first week of the year ** 1997 lasts from 1996-12-30 to 1997-01-05..." ** (ado, 1996-01-02) */ *************** *** 512,523 **** /* ** C99 says that the UTC offset must ** be computed by looking only at ! ** tm_isdst. This requirement is ** incorrect, since it means the code ** must rely on magic (in this case ** altzone and timezone), and the ** magic might not have the correct ! ** offset. Doing things correctly is ** tricky and requires disobeying C99; ** see GNU C strftime for details. ** For now, punt and conform to the --- 513,524 ---- /* ** C99 says that the UTC offset must ** be computed by looking only at ! ** tm_isdst. This requirement is ** incorrect, since it means the code ** must rely on magic (in this case ** altzone and timezone), and the ** magic might not have the correct ! ** offset. Doing things correctly is ** tricky and requires disobeying C99; ** see GNU C strftime for details. ** For now, punt and conform to the *************** *** 559,565 **** case '%': /* ** X311J/88-090 (4.12.3.5): if conversion char is ! ** undefined, behavior is undefined. Print out the ** character itself as printf(3) also does. */ default: --- 560,566 ---- case '%': /* ** X311J/88-090 (4.12.3.5): if conversion char is ! ** undefined, behavior is undefined. Print out the ** character itself as printf(3) also does. */ default: *************** *** 682,688 **** ** Slurp the locale file into the cache. */ namesize = strlen(name) + 1; ! if (sizeof filename < ((sizeof locale_home) + namesize + (sizeof lc_time))) goto no_locale; oldsun = 0; --- 683,689 ---- ** Slurp the locale file into the cache. */ namesize = strlen(name) + 1; ! if (sizeof filename < ((sizeof locale_home) + namesize + (sizeof lc_time))) goto no_locale; oldsun = 0; *************** *** 705,711 **** goto bad_locale; bufsize = namesize + st.st_size; locale_buf = NULL; ! lbuf = (lbuf == NULL) ? malloc(bufsize) : realloc(lbuf, bufsize); if (lbuf == NULL) goto bad_locale; (void) strcpy(lbuf, name); --- 706,712 ---- goto bad_locale; bufsize = namesize + st.st_size; locale_buf = NULL; ! lbuf = (lbuf == NULL) ? malloc(bufsize) : realloc(lbuf, bufsize); if (lbuf == NULL) goto bad_locale; (void) strcpy(lbuf, name); diff -r -c old/tz-art.htm new/tz-art.htm *** old/tz-art.htm Mon Jan 31 09:20:48 2005 --- new/tz-art.htm Mon Jan 31 14:06:50 2005 *************** *** 1,5 **** <?xml version="1.0" encoding="US-ASCII"?> ! <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> --- 1,5 ---- <?xml version="1.0" encoding="US-ASCII"?> ! <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> *************** *** 10,16 **** <body> <h1>Time and the Arts</h1> <address> ! @(#)tz-art.htm 7.53 </address> <p> Please send corrections to this web page to the --- 10,16 ---- <body> <h1>Time and the Arts</h1> <address> ! @(#)tz-art.htm 7.54 </address> <p> Please send corrections to this web page to the diff -r -c old/tzfile.h new/tzfile.h *** old/tzfile.h Mon Jan 31 09:19:08 2005 --- new/tzfile.h Mon Jan 31 14:06:49 2005 *************** *** 21,27 **** #ifndef lint #ifndef NOID ! static char tzfilehid[] = "@(#)tzfile.h 7.16"; #endif /* !defined NOID */ #endif /* !defined lint */ --- 21,27 ---- #ifndef lint #ifndef NOID ! static char tzfilehid[] = "@(#)tzfile.h 7.17"; #endif /* !defined NOID */ #endif /* !defined lint */ *************** *** 48,54 **** #define TZ_MAGIC "TZif" struct tzhead { ! char tzh_magic[4]; /* TZ_MAGIC */ char tzh_reserved[16]; /* reserved for future use */ char tzh_ttisgmtcnt[4]; /* coded number of trans. time flags */ char tzh_ttisstdcnt[4]; /* coded number of trans. time flags */ --- 48,54 ---- #define TZ_MAGIC "TZif" struct tzhead { ! char tzh_magic[4]; /* TZ_MAGIC */ char tzh_reserved[16]; /* reserved for future use */ char tzh_ttisgmtcnt[4]; /* coded number of trans. time flags */ char tzh_ttisstdcnt[4]; /* coded number of trans. time flags */ *************** *** 172,197 **** #define isleap_sum(a, b) isleap((a) % 400 + (b) % 400) - #ifndef USG - - /* - ** Use of the underscored variants may cause problems if you move your code to - ** certain System-V-based systems; for maximum portability, use the - ** underscore-free variants. The underscored variants are provided for - ** backward compatibility only; they may disappear from future versions of - ** this file. - */ - - #define SECS_PER_MIN SECSPERMIN - #define MINS_PER_HOUR MINSPERHOUR - #define HOURS_PER_DAY HOURSPERDAY - #define DAYS_PER_WEEK DAYSPERWEEK - #define DAYS_PER_NYEAR DAYSPERNYEAR - #define DAYS_PER_LYEAR DAYSPERLYEAR - #define SECS_PER_HOUR SECSPERHOUR - #define SECS_PER_DAY SECSPERDAY - #define MONS_PER_YEAR MONSPERYEAR - - #endif /* !defined USG */ - #endif /* !defined TZFILE_H */ --- 172,175 ---- diff -r -c old/workman.sh new/workman.sh *** old/workman.sh Mon Jan 31 09:20:49 2005 --- new/workman.sh Mon Jan 31 14:06:50 2005 *************** *** 1,6 **** #! /bin/sh ! # @(#)workman.sh 1.7 # Tell groff not to emit SGR escape sequences (ANSI color escapes). GROFF_NO_SGR=1 --- 1,6 ---- #! /bin/sh ! # @(#)workman.sh 1.8 # Tell groff not to emit SGR escape sequences (ANSI color escapes). GROFF_NO_SGR=1 *************** *** 26,29 **** print "$_\n"; $didprint = 1; } ! ' --- 26,29 ---- print "$_\n"; $didprint = 1; } ! ' diff -r -c old/yearistype.sh new/yearistype.sh *** old/yearistype.sh Mon Jan 17 18:36:18 2005 --- new/yearistype.sh Mon Jan 31 14:06:50 2005 *************** *** 1,6 **** #! /bin/sh ! : '@(#)yearistype.sh 7.7' case $#-$1 in 2-|2-0*|2-*[!0-9]*) --- 1,6 ---- #! /bin/sh ! : '@(#)yearistype.sh 7.8' case $#-$1 in 2-|2-0*|2-*[!0-9]*) *************** *** 9,15 **** esac case $#-$2 in ! 2-even) case $1 in *[24680]) exit 0 ;; *) exit 1 ;; --- 9,15 ---- esac case $#-$2 in ! 2-even) case $1 in *[24680]) exit 0 ;; *) exit 1 ;; *************** *** 19,25 **** *[02468][048]|*[13579][26]) exit 1 ;; *) exit 0 ;; esac ;; ! 2-odd) case $1 in *[13579]) exit 0 ;; *) exit 1 ;; --- 19,25 ---- *[02468][048]|*[13579][26]) exit 1 ;; *) exit 0 ;; esac ;; ! 2-odd) case $1 in *[13579]) exit 0 ;; *) exit 1 ;; *************** *** 29,35 **** *[02468][048]|*[13579][26]) exit 0 ;; *) exit 1 ;; esac ;; ! 2-*) echo "$0: wild type - $2" >&2 ;; esac --- 29,35 ---- *[02468][048]|*[13579][26]) exit 0 ;; *) exit 1 ;; esac ;; ! 2-*) echo "$0: wild type - $2" >&2 ;; esac diff -r -c old/zdump.c new/zdump.c *** old/zdump.c Mon Jan 31 09:20:47 2005 --- new/zdump.c Mon Jan 31 14:20:42 2005 *************** *** 1,4 **** ! static char elsieid[] = "@(#)zdump.c 7.61"; /* ** This code has been made independent of the rest of the time --- 1,4 ---- ! static char elsieid[] = "@(#)zdump.c 7.63"; /* ** This code has been made independent of the rest of the time *************** *** 215,221 **** INITIALIZE(cutlotime); INITIALIZE(cuthitime); #if HAVE_GETTEXT ! (void) setlocale(LC_MESSAGES, ""); #ifdef TZ_DOMAINDIR (void) bindtextdomain(TZ_DOMAIN, TZ_DOMAINDIR); #endif /* defined TEXTDOMAINDIR */ --- 215,221 ---- INITIALIZE(cutlotime); INITIALIZE(cuthitime); #if HAVE_GETTEXT ! (void) setlocale(LC_ALL, ""); #ifdef TZ_DOMAINDIR (void) bindtextdomain(TZ_DOMAIN, TZ_DOMAINDIR); #endif /* defined TEXTDOMAINDIR */ *************** *** 318,324 **** newtmp = localtime(&newt); if (newtmp != NULL) newtm = *newtmp; ! if ((tmp == NULL || newtmp == NULL) ? (tmp != newtmp) : (delta(&newtm, &tm) != (newt - t) || newtm.tm_isdst != tm.tm_isdst || strcmp(abbr(&newtm), buf) != 0)) { --- 318,324 ---- newtmp = localtime(&newt); if (newtmp != NULL) newtm = *newtmp; ! if ((tmp == NULL || newtmp == NULL) ? (tmp != newtmp) : (delta(&newtm, &tm) != (newt - t) || newtm.tm_isdst != tm.tm_isdst || strcmp(abbr(&newtm), buf) != 0)) { diff -r -c old/zic.c new/zic.c *** old/zic.c Mon Jan 31 09:20:47 2005 --- new/zic.c Mon Jan 31 14:20:42 2005 *************** *** 1,4 **** ! static char elsieid[] = "@(#)zic.c 7.120"; /* ** Regardless of the type of time_t, we do our work using this type. --- 1,4 ---- ! static char elsieid[] = "@(#)zic.c 7.122"; /* ** Regardless of the type of time_t, we do our work using this type. *************** *** 21,27 **** /* ** On some ancient hosts, predicates like `isspace(C)' are defined ! ** only if isascii(C) || C == EOF. Modern hosts obey the C Standard, ** which says they are defined only if C == ((unsigned char) C) || C == EOF. ** Neither the C Standard nor Posix require that `isascii' exist. ** For portability, we check both ancient and modern requirements. --- 21,27 ---- /* ** On some ancient hosts, predicates like `isspace(C)' are defined ! ** only if isascii(C) || C == EOF. Modern hosts obey the C Standard, ** which says they are defined only if C == ((unsigned char) C) || C == EOF. ** Neither the C Standard nor Posix require that `isascii' exist. ** For portability, we check both ancient and modern requirements. *************** *** 138,146 **** static void writezone P((const char * name)); static int yearistype P((int year, const char * type)); ! #if !(HAVE_STRERROR - 0) static char * strerror P((int)); ! #endif /* !(HAVE_STRERROR - 0) */ static int charcnt; static int errors; --- 138,146 ---- static void writezone P((const char * name)); static int yearistype P((int year, const char * type)); ! #if !HAVE_STRERROR static char * strerror P((int)); ! #endif /* !HAVE_STRERROR */ static int charcnt; static int errors; *************** *** 380,386 **** ** Error handling. */ ! #if !(HAVE_STRERROR - 0) static char * strerror(errnum) int errnum; --- 380,386 ---- ** Error handling. */ ! #if !HAVE_STRERROR static char * strerror(errnum) int errnum; *************** *** 391,397 **** return (errnum > 0 && errnum <= sys_nerr) ? sys_errlist[errnum] : _("Unknown system error"); } ! #endif /* !(HAVE_STRERROR - 0) */ static void eats(name, num, rname, rnum) --- 391,397 ---- return (errnum > 0 && errnum <= sys_nerr) ? sys_errlist[errnum] : _("Unknown system error"); } ! #endif /* !HAVE_STRERROR */ static void eats(name, num, rname, rnum) *************** *** 448,454 **** static void usage P((void)) { ! (void) fprintf(stderr, _("%s: usage is %s [ --version ] [ -s ] [ -v ] [ -l localtime ] [ -p posixrules ] \\\n\t[ -d directory ] [ -L leapseconds ] [ -y yearistype ] [ filename ... ]\n"), progname, progname); (void) exit(EXIT_FAILURE); } --- 448,456 ---- static void usage P((void)) { ! (void) fprintf(stderr, _("%s: usage is %s \ ! [ --version ] [ -s ] [ -v ] [ -l localtime ] [ -p posixrules ] \\\n\ ! \t[ -d directory ] [ -L leapseconds ] [ -y yearistype ] [ filename ... ]\n"), progname, progname); (void) exit(EXIT_FAILURE); } *************** *** 472,484 **** #ifdef unix (void) umask(umask(S_IWGRP | S_IWOTH) | (S_IWGRP | S_IWOTH)); #endif /* defined unix */ ! #if HAVE_GETTEXT - 0 ! (void) setlocale(LC_MESSAGES, ""); #ifdef TZ_DOMAINDIR (void) bindtextdomain(TZ_DOMAIN, TZ_DOMAINDIR); #endif /* defined TEXTDOMAINDIR */ (void) textdomain(TZ_DOMAIN); ! #endif /* HAVE_GETTEXT - 0 */ progname = argv[0]; for (i = 1; i < argc; ++i) if (strcmp(argv[i], "--version") == 0) { --- 474,486 ---- #ifdef unix (void) umask(umask(S_IWGRP | S_IWOTH) | (S_IWGRP | S_IWOTH)); #endif /* defined unix */ ! #if HAVE_GETTEXT ! (void) setlocale(LC_ALL, ""); #ifdef TZ_DOMAINDIR (void) bindtextdomain(TZ_DOMAIN, TZ_DOMAINDIR); #endif /* defined TEXTDOMAINDIR */ (void) textdomain(TZ_DOMAIN); ! #endif /* HAVE_GETTEXT */ progname = argv[0]; for (i = 1; i < argc; ++i) if (strcmp(argv[i], "--version") == 0) { *************** *** 631,652 **** (void) exit(EXIT_FAILURE); result = link(fromname, toname); ! #if (HAVE_SYMLINK - 0) if (result != 0 && ! access(fromname, F_OK) == 0 && ! !itsdir(fromname)) { ! const char *s = tofile; ! register char * symlinkcontents = NULL; ! while ((s = strchr(s+1, '/')) != NULL) ! symlinkcontents = ecatalloc(symlinkcontents, "../"); ! symlinkcontents = ecatalloc(symlinkcontents, fromfile); ! result = symlink(symlinkcontents, toname); ! if (result == 0) warning(_("hard link failed, symbolic link used")); ! ifree(symlinkcontents); } ! #endif if (result != 0) { const char *e = strerror(errno); --- 633,659 ---- (void) exit(EXIT_FAILURE); result = link(fromname, toname); ! #if HAVE_SYMLINK if (result != 0 && ! access(fromname, F_OK) == 0 && ! !itsdir(fromname)) { ! const char *s = tofile; ! register char * symlinkcontents = NULL; ! while ((s = strchr(s+1, '/')) != NULL) ! symlinkcontents = ! ecatalloc(symlinkcontents, ! "../"); ! symlinkcontents = ! ecatalloc(symlinkcontents, ! fromfile); ! result = symlink(symlinkcontents, ! toname); ! if (result == 0) warning(_("hard link failed, symbolic link used")); ! ifree(symlinkcontents); } ! #endif /* HAVE_SYMLINK */ if (result != 0) { const char *e = strerror(errno); *************** *** 804,810 **** */ eat(zp->z_filename, zp->z_linenum); zp->z_stdoff = gethms(zp->z_rule, _("unruly zone"), ! TRUE); /* ** Note, though, that if there's no rule, ** a '%s' in the format is a bad thing. --- 811,817 ---- */ eat(zp->z_filename, zp->z_linenum); zp->z_stdoff = gethms(zp->z_rule, _("unruly zone"), ! TRUE); /* ** Note, though, that if there's no rule, ** a '%s' in the format is a bad thing. *************** *** 1107,1113 **** zones[nzones - 1].z_untiltime > min_time && zones[nzones - 1].z_untiltime < max_time && zones[nzones - 1].z_untiltime >= z.z_untiltime) { ! error(_("Zone continuation line end time is not after end time of previous line")); return FALSE; } } --- 1114,1122 ---- zones[nzones - 1].z_untiltime > min_time && zones[nzones - 1].z_untiltime < max_time && zones[nzones - 1].z_untiltime >= z.z_untiltime) { ! error(_( ! "Zone continuation line end time is not after end time of previous line" ! )); return FALSE; } } *************** *** 1140,1150 **** dayoff = 0; cp = fields[LP_YEAR]; if (sscanf(cp, scheck(cp, "%d"), &year) != 1) { ! /* ! * Leapin' Lizards! ! */ ! error(_("invalid leaping year")); ! return; } j = EPOCH_YEAR; while (j != year) { --- 1149,1159 ---- dayoff = 0; cp = fields[LP_YEAR]; if (sscanf(cp, scheck(cp, "%d"), &year) != 1) { ! /* ! ** Leapin' Lizards! ! */ ! error(_("invalid leaping year")); ! return; } j = EPOCH_YEAR; while (j != year) { *************** *** 1211,1217 **** return; } if ((lp = byword(fields[LP_ROLL], leap_types)) == NULL) { ! error(_("illegal Rolling/Stationary field on Leap line")); return; } leapadd(tadd(t, tod), positive, lp->l_value, count); --- 1220,1228 ---- return; } if ((lp = byword(fields[LP_ROLL], leap_types)) == NULL) { ! error(_( ! "illegal Rolling/Stationary field on Leap line" ! )); return; } leapadd(tadd(t, tod), positive, lp->l_value, count); *************** *** 1473,1486 **** while (fromi < timecnt && attypes[fromi].type == 0) ++fromi; /* handled by default rule */ for ( ; fromi < timecnt; ++fromi) { ! if (toi != 0 ! && ((attypes[fromi].at ! + gmtoffs[attypes[toi - 1].type]) ! <= (attypes[toi - 1].at ! + gmtoffs[toi == 1 ? 0 ! : attypes[toi - 2].type]))) { ! attypes[toi - 1].type = attypes[fromi].type; ! continue; } if (toi == 0 || attypes[toi - 1].type != attypes[fromi].type) --- 1484,1496 ---- while (fromi < timecnt && attypes[fromi].type == 0) ++fromi; /* handled by default rule */ for ( ; fromi < timecnt; ++fromi) { ! if (toi != 0 && ((attypes[fromi].at + ! gmtoffs[attypes[toi - 1].type]) <= ! (attypes[toi - 1].at + gmtoffs[toi == 1 ? 0 ! : attypes[toi - 2].type]))) { ! attypes[toi - 1].type = ! attypes[fromi].type; ! continue; } if (toi == 0 || attypes[toi - 1].type != attypes[fromi].type) *************** *** 1526,1532 **** convert(eitol(typecnt), tzh.tzh_typecnt); convert(eitol(charcnt), tzh.tzh_charcnt); (void) strncpy(tzh.tzh_magic, TZ_MAGIC, sizeof tzh.tzh_magic); ! #define DO(field) (void) fwrite((void *) tzh.field, (size_t) sizeof tzh.field, (size_t) 1, fp) DO(tzh_magic); DO(tzh_reserved); DO(tzh_ttisgmtcnt); --- 1536,1543 ---- convert(eitol(typecnt), tzh.tzh_typecnt); convert(eitol(charcnt), tzh.tzh_charcnt); (void) strncpy(tzh.tzh_magic, TZ_MAGIC, sizeof tzh.tzh_magic); ! #define DO(field) (void) fwrite((void *) tzh.field, \ ! (size_t) sizeof tzh.field, (size_t) 1, fp) DO(tzh_magic); DO(tzh_reserved); DO(tzh_ttisgmtcnt); *************** *** 1745,1756 **** continue; } if (*startbuf == '\0' && ! startoff == oadd(zp->z_gmtoff, ! stdoff)) { ! doabbr(startbuf, zp->z_format, ! rp->r_abbrvar, ! rp->r_stdoff != 0); ! } } eats(zp->z_filename, zp->z_linenum, rp->r_filename, rp->r_linenum); --- 1756,1768 ---- continue; } if (*startbuf == '\0' && ! startoff == oadd(zp->z_gmtoff, ! stdoff)) ! doabbr(startbuf, ! zp->z_format, ! rp->r_abbrvar, ! rp->r_stdoff != ! 0); } eats(zp->z_filename, zp->z_linenum, rp->r_filename, rp->r_linenum); *************** *** 2041,2047 **** else while ((*dp = *cp++) != '"') if (*dp != '\0') ++dp; ! else error(_("Odd number of quotation marks")); } while (*cp != '\0' && *cp != '#' && (!isascii(*cp) || !isspace((unsigned char) *cp))); if (isascii(*cp) && isspace((unsigned char) *cp)) --- 2053,2061 ---- else while ((*dp = *cp++) != '"') if (*dp != '\0') ++dp; ! else error(_( ! "Odd number of quotation marks" ! )); } while (*cp != '\0' && *cp != '#' && (!isascii(*cp) || !isspace((unsigned char) *cp))); if (isascii(*cp) && isspace((unsigned char) *cp)) *************** *** 2162,2168 **** } if (i < 0 || i >= len_months[isleap(y)][m]) { if (noise) ! warning(_("rule goes past start/end of month--will not work with pre-2004 versions of zic")); } } if (dayoff < 0 && !TYPE_SIGNED(zic_t)) --- 2176,2183 ---- } if (i < 0 || i >= len_months[isleap(y)][m]) { if (noise) ! warning(_("rule goes past start/end of month--\ ! will not work with pre-2004 versions of zic")); } } if (dayoff < 0 && !TYPE_SIGNED(zic_t))

"Olson, Arthur David (NIH/NCI)" <olsona@dc37a.nci.nih.gov> writes:
4. And the bulk of the changes are cleanups to white space and line lengths.
Since your email client mangles whitespace changes, we can't really review them, even though they're the bulk of the proposed patch and their bulk makes it difficult for us to see the non-whitespace changes. Could you please send the output of "diff -b -c" instead? That way we can review the non-whitespace changes more easily. Thanks.
participants (2)
-
Olson, Arthur David (NIH/NCI)
-
Paul Eggert