tzfile.h work

SCCS-file: zic.c
SCCS-SID: 2.36
This commit is contained in:
Arthur David Olson
2012-07-18 03:01:41 -04:00
committed by Paul Eggert
parent d0e0401665
commit 9f2200cb2a
+23 -23
View File
@@ -50,16 +50,16 @@ static long tadd();
static long timecnt; static long timecnt;
static long typecnt; static long typecnt;
#define SECS_PER_MIN 60L #define LSECS_PER_MIN ((long) SECS_PER_MIN)
#define MINS_PER_HOUR 60L #define LMINS_PER_HOUR ((long) MINS_PER_HOUR)
#define HOURS_PER_DAY 24L #define LHOURS_PER_DAY ((long) HOURS_PER_DAY)
#define SECS_PER_HOUR (SECS_PER_MIN * MINS_PER_HOUR) #define LSECS_PER_HOUR (LSECS_PER_MIN * LMINS_PER_HOUR)
#define SECS_PER_DAY (SECS_PER_HOUR * HOURS_PER_DAY) #define LSECS_PER_DAY (LSECS_PER_HOUR * LHOURS_PER_DAY)
#define EPOCH_YEAR 1970L #define LEPOCH_YEAR ((long) EPOCH_YEAR)
#define EPOCH_WDAY TM_THURSDAY #define EPOCH_WDAY TM_THURSDAY
#define MIN_YEAR 1902L #define LMIN_YEAR 1902L
#define MAX_YEAR 2037L #define LMAX_YEAR 2037L
/* /*
** Values a la localtime(3) ** Values a la localtime(3)
@@ -264,15 +264,15 @@ static struct lookup lasts[] = {
}; };
static struct lookup begin_years[] = { static struct lookup begin_years[] = {
"minimum", MIN_YEAR, "minimum", LMIN_YEAR,
"maximum", MAX_YEAR, "maximum", LMAX_YEAR,
NULL, 0 NULL, 0
}; };
static struct lookup end_years[] = { static struct lookup end_years[] = {
"minimum", MIN_YEAR, "minimum", LMIN_YEAR,
"maximum", MAX_YEAR, "maximum", LMAX_YEAR,
#define ONLY EPOCH_YEAR /* surely neither MIN_YEAR nor MAX_YEAR */ #define ONLY LEPOCH_YEAR /* surely neither LMIN_YEAR nor LMAX_YEAR */
"only", ONLY, "only", ONLY,
NULL, 0 NULL, 0
}; };
@@ -638,13 +638,13 @@ char * errstring;
error(errstring); error(errstring);
return 0; return 0;
} }
if (hh < 0 || hh >= HOURS_PER_DAY || if (hh < 0 || hh >= LHOURS_PER_DAY ||
mm < 0 || mm >= MINS_PER_HOUR || mm < 0 || mm >= LMINS_PER_HOUR ||
ss < 0 || ss >= SECS_PER_MIN) { ss < 0 || ss >= LSECS_PER_MIN) {
error(errstring); error(errstring);
return 0; return 0;
} }
return (long) sign * (((hh * MINS_PER_HOUR) + mm) * SECS_PER_MIN + ss); return (long) sign * (((hh * LMINS_PER_HOUR) + mm) * LSECS_PER_MIN + ss);
} }
static static
@@ -846,7 +846,7 @@ char * timep;
if ((lp = byword(cp, begin_years)) != NULL) if ((lp = byword(cp, begin_years)) != NULL)
rp->r_loyear = lp->l_value; rp->r_loyear = lp->l_value;
else if (sscanf(cp, scheck(cp, "%ld"), &rp->r_loyear) != 1 || else if (sscanf(cp, scheck(cp, "%ld"), &rp->r_loyear) != 1 ||
rp->r_loyear < MIN_YEAR || rp->r_loyear > MAX_YEAR) { rp->r_loyear < LMIN_YEAR || rp->r_loyear > LMAX_YEAR) {
error("invalid starting year"); error("invalid starting year");
return; return;
} }
@@ -855,7 +855,7 @@ char * timep;
if ((rp->r_hiyear = lp->l_value) == ONLY) if ((rp->r_hiyear = lp->l_value) == ONLY)
rp->r_hiyear = rp->r_loyear; rp->r_hiyear = rp->r_loyear;
} else if (sscanf(cp, scheck(cp, "%ld"), &rp->r_hiyear) != 1 || } else if (sscanf(cp, scheck(cp, "%ld"), &rp->r_hiyear) != 1 ||
rp->r_hiyear < MIN_YEAR || rp->r_hiyear > MAX_YEAR) { rp->r_hiyear < LMIN_YEAR || rp->r_hiyear > LMAX_YEAR) {
error("invalid ending year"); error("invalid ending year");
return; return;
} }
@@ -1017,7 +1017,7 @@ struct zone * zpfirst;
addtt(starttime, type); addtt(starttime, type);
gmtoff = zp->z_gmtoff; gmtoff = zp->z_gmtoff;
stdoff = zp->z_stdoff; stdoff = zp->z_stdoff;
} else for (year = MIN_YEAR; year <= MAX_YEAR; ++year) { } else for (year = LMIN_YEAR; year <= LMAX_YEAR; ++year) {
if (useuntil && year > zp->z_untilrule.r_hiyear) if (useuntil && year > zp->z_untilrule.r_hiyear)
break; break;
/* /*
@@ -1320,7 +1320,7 @@ register long wantedy;
dayoff = 0; dayoff = 0;
m = TM_JANUARY; m = TM_JANUARY;
y = EPOCH_YEAR; y = LEPOCH_YEAR;
while (wantedy != y) { while (wantedy != y) {
if (wantedy > y) { if (wantedy > y) {
i = year_lengths[isleap(y)]; i = year_lengths[isleap(y)];
@@ -1376,11 +1376,11 @@ register long wantedy;
exit(1); exit(1);
} }
} }
t = dayoff * SECS_PER_DAY; t = dayoff * LSECS_PER_DAY;
/* /*
** Cheap overflow check. ** Cheap overflow check.
*/ */
if (t / SECS_PER_DAY != dayoff) { if (t / LSECS_PER_DAY != dayoff) {
error("time overflow"); error("time overflow");
exit(1); exit(1);
} }