1
0
mirror of https://frontier.innolan.net/rainlance/amiga-tz.git synced 2025-12-07 16:13:51 +00:00

Eggert 1994 updates

SCCS-file: zic.c
SCCS-SID: 7.20
This commit is contained in:
Arthur David Olson
1994-02-07 09:57:45 -05:00
committed by Paul Eggert
parent 565ff7d9a7
commit 8a01b77240

20
zic.c
View File

@ -120,8 +120,10 @@ static int errors;
static const char * filename;
static int leapcnt;
static int linenum;
static int max_int;
static time_t max_time;
static int max_year;
static int min_int;
static time_t min_time;
static int min_year;
static int noise;
@ -565,6 +567,7 @@ static void
setboundaries()
{
register time_t bit;
register int bii;
for (bit = 1; bit > 0; bit <<= 1)
;
@ -585,6 +588,11 @@ setboundaries()
}
min_year = TM_YEAR_BASE + gmtime(&min_time)->tm_year;
max_year = TM_YEAR_BASE + gmtime(&max_time)->tm_year;
for (bii = 1; bii > 0; bii <<= 1)
;
min_int = bii;
max_int = -1 - bii;
}
static int
@ -1129,10 +1137,10 @@ char * const timep;
cp = loyearp;
if ((lp = byword(cp, begin_years)) != NULL) switch ((int) lp->l_value) {
case YR_MINIMUM:
rp->r_loyear = min_year;
rp->r_loyear = min_int;
break;
case YR_MAXIMUM:
rp->r_loyear = max_year;
rp->r_loyear = max_int;
break;
default: /* "cannot happen" */
(void) fprintf(stderr,
@ -1146,10 +1154,10 @@ char * const timep;
cp = hiyearp;
if ((lp = byword(cp, end_years)) != NULL) switch ((int) lp->l_value) {
case YR_MINIMUM:
rp->r_hiyear = min_year;
rp->r_hiyear = min_int;
break;
case YR_MAXIMUM:
rp->r_hiyear = max_year;
rp->r_hiyear = max_int;
break;
case YR_ONLY:
rp->r_hiyear = rp->r_loyear;
@ -1778,6 +1786,10 @@ register const int wantedy;
register long dayoff; /* with a nod to Margaret O. */
register time_t t;
if (wantedy == min_int)
return min_time;
if (wantedy == max_int)
return max_time;
dayoff = 0;
m = TM_JANUARY;
y = EPOCH_YEAR;