[tz] [PATCH 1/3] More C modernization.
Paul Eggert
eggert at cs.ucla.edu
Fri Oct 26 07:54:33 UTC 2012
* Makefile (typecheck): Add -D__time_t_defined to CFLAGS,
for glibc 2.15.
* asctime.c (asctime_r, asctime):
* date.c (main, dogmt, reset, nondigit, sametm, convert, checkfinal):
* ialloc.c (icatalloc):
* localtime.c (detzcode, detzcode64, settzname, tzload)
(typesequiv, getzname, getqzname, getnum, getsecs, getoffset)
(getrule, transtime, tzparse, tzset, localsub, gmtsub)
(leaps_thru_end_of, timesub, increment_overflow)
(long_increment_overflow, normalize_overflow)
(long_normalize_overflow, tmcomp, time2sub, time1, leapcorr):
* scheck.c (scheck):
* strftime.c (_yconv):
* zdump.c (my_localtime, abbrok, main, yeartot, hunt)
(delta, show, abbr, dumptime):
* zic.c (main, dolink, itsdir, associate, infile, inrule)
(inzone, inzcont, inzsub, inleap, inlink, rulesub, convert64)
(writezone, doabbr, stringoffset, stringrule, stringzone)
(outzone, addtype, leapadd, adjleap, ciequal, itsabbr, byword)
(getfields, rpytime, newabbr, mkdirs):
Omit 'register', as it adds no value these days. See Christos Zoulas in
<http://mm.icann.org/pipermail/tz/2012-October/018376.html>.
* date.c (netsettime) [TSP_SETDATE]: Add forward decl.
Don't rely on implicit int. Now static. Use NULL, not 0.
* zdump.c: Include "limits.h".
(absolute_min_time, absolute_max_time): Compute at compile-time,
as the run-time tests relied on undefined behavior.
(checkabsolutes): Rename from setabsolutes. Just check, since
there's nothing to set now. All uses changed.
---
Makefile | 2 +-
asctime.c | 8 +-
date.c | 64 ++++++++-------
ialloc.c | 4 +-
localtime.c | 253 +++++++++++++++++++++++++++++-----------------------------
scheck.c | 12 +--
strftime.c | 4 +-
zdump.c | 162 ++++++++++++++++++-------------------
zic.c | 254 +++++++++++++++++++++++++++++------------------------------
9 files changed, 380 insertions(+), 383 deletions(-)
diff --git a/Makefile b/Makefile
index ffd1cf0..5477133 100644
--- a/Makefile
+++ b/Makefile
@@ -455,7 +455,7 @@ typecheck:
make clean
for i in "long long" unsigned double; \
do \
- make CFLAGS="-DTYPECHECK -D_TIME_T \"-Dtime_t=$$i\"" ; \
+ make CFLAGS="-DTYPECHECK -D__time_t_defined -D_TIME_T \"-Dtime_t=$$i\"" ; \
./zdump -v Europe/Rome ; \
make clean ; \
done
diff --git a/asctime.c b/asctime.c
index 152b0db..e81b4f0 100644
--- a/asctime.c
+++ b/asctime.c
@@ -69,7 +69,7 @@ static char buf_asctime[MAX_ASCTIME_BUF_SIZE];
*/
char *
-asctime_r(register const struct tm *timeptr, char *buf)
+asctime_r(const struct tm *timeptr, char *buf)
{
static const char wday_name[][3] = {
"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"
@@ -78,8 +78,8 @@ asctime_r(register const struct tm *timeptr, char *buf)
"Jan", "Feb", "Mar", "Apr", "May", "Jun",
"Jul", "Aug", "Sep", "Oct", "Nov", "Dec"
};
- register const char * wn;
- register const char * mn;
+ const char *wn;
+ const char *mn;
char year[INT_STRLEN_MAXIMUM(int) + 2];
char result[MAX_ASCTIME_BUF_SIZE];
@@ -126,7 +126,7 @@ asctime_r(register const struct tm *timeptr, char *buf)
*/
char *
-asctime(register const struct tm *timeptr)
+asctime(const struct tm *timeptr)
{
return asctime_r(timeptr, buf_asctime);
}
diff --git a/date.c b/date.c
index b9578e1..1839397 100644
--- a/date.c
+++ b/date.c
@@ -85,20 +85,20 @@ static void wildinput(const char *, const char *,
int
main(const int argc, char *argv[])
{
- register const char * format;
- register const char * value;
- register const char * cp;
- register int ch;
- register int dousg;
- register int aflag = 0;
- register int dflag = 0;
- register int nflag = 0;
- register int tflag = 0;
- register int minuteswest;
- register int dsttime;
- register double adjust;
- time_t now;
- time_t t;
+ const char * format;
+ const char * value;
+ const char * cp;
+ int ch;
+ int dousg;
+ int aflag = 0;
+ int dflag = 0;
+ int nflag = 0;
+ int tflag = 0;
+ int minuteswest;
+ int dsttime;
+ double adjust;
+ time_t now;
+ time_t t;
INITIALIZE(dousg);
INITIALIZE(minuteswest);
@@ -305,9 +305,9 @@ dogmt(void)
static char ** fakeenv;
if (fakeenv == NULL) {
- register int from;
- register int to;
- register int n;
+ int from;
+ int to;
+ int n;
static char tzegmt0[] = "TZ=GMT0";
for (n = 0; environ[n] != NULL; ++n)
@@ -343,7 +343,7 @@ dogmt(void)
static void
reset(const time_t newt, const int nflag)
{
- register int fid;
+ int fid;
time_t oldt;
static struct {
struct utmp before;
@@ -439,13 +439,17 @@ extern int logwtmp();
#define settimeofday(t, tz) (settimeofday)(t)
#endif /* HAVE_SETTIMEOFDAY == 1 */
+#ifdef TSP_SETDATE
+static int netsettime(struct timeval);
+#endif
+
#ifndef TSP_SETDATE
/*ARGSUSED*/
#endif /* !defined TSP_SETDATE */
static void
reset(const time_t newt, const int nflag)
{
- register const char * username;
+ const char * username;
static struct timeval tv; /* static so tv_usec is 0 */
#ifdef EBUG
@@ -491,7 +495,7 @@ errensure(void)
}
static const char *
-nondigit(register const char *cp)
+nondigit(const char *cp)
{
while (is_digit(*cp))
++cp;
@@ -573,8 +577,7 @@ timeout(FILE *const fp, const char *const format, const struct tm *const tmp)
}
static int
-sametm(register const struct tm *const atmp,
- register const struct tm *const btmp)
+sametm(const struct tm *const atmp, const struct tm *const btmp)
{
return atmp->tm_year == btmp->tm_year &&
atmp->tm_mon == btmp->tm_mon &&
@@ -592,11 +595,11 @@ sametm(register const struct tm *const atmp,
#define ATOI2(ar) (ar[0] - '0') * 10 + (ar[1] - '0'); ar += 2;
static time_t
-convert(register const char * const value, const int dousg, const time_t t)
+convert(const char * const value, const int dousg, const time_t t)
{
- register const char * cp;
- register const char * dotp;
- register int cent, year_in_cent, month, hour, day, mins, secs;
+ const char * cp;
+ const char * dotp;
+ int cent, year_in_cent, month, hour, day, mins, secs;
struct tm tm, outtm;
time_t outt;
@@ -704,8 +707,8 @@ checkfinal(const char * const value,
time_t othert;
struct tm tm;
struct tm othertm;
- register int pass;
- register long offset;
+ int pass;
+ long offset;
/*
** See if there's both a USG and a BSD interpretation.
@@ -800,6 +803,7 @@ iffy(const time_t thist, const time_t thatt,
* notifies the master that a correction is needed.
* Returns 1 on success, 0 on failure.
*/
+static int
netsettime(struct timeval ntv)
{
int s, length, port, timed_ack, found, err;
@@ -812,7 +816,7 @@ netsettime(struct timeval ntv)
struct sockaddr_in sin, dest, from;
sp = getservbyname("timed", "udp");
- if (sp == 0) {
+ if (! sp) {
fputs(_("udp/timed: unknown service\n"), stderr);
retval = 2;
return (0);
@@ -869,7 +873,7 @@ loop:
tout.tv_usec = 0;
FD_ZERO(&ready);
FD_SET(s, &ready);
- found = select(FD_SETSIZE, &ready, 0, 0, &tout);
+ found = select(FD_SETSIZE, &ready, NULL, NULL, &tout);
length = sizeof err;
if (getsockopt(s, SOL_SOCKET, SO_ERROR, (char *)&err, &length) == 0
&& err) {
diff --git a/ialloc.c b/ialloc.c
index b6f0188..6a565c6 100644
--- a/ialloc.c
+++ b/ialloc.c
@@ -10,8 +10,8 @@
char *
icatalloc(char *const old, const char *const new)
{
- register char * result;
- register int oldsize, newsize;
+ char * result;
+ int oldsize, newsize;
newsize = (new == NULL) ? 0 : strlen(new);
if (old == NULL)
diff --git a/localtime.c b/localtime.c
index e074c54..b045b93 100644
--- a/localtime.c
+++ b/localtime.c
@@ -226,8 +226,8 @@ time_t altzone = 0;
static long
detzcode(const char *const codep)
{
- register long result;
- register int i;
+ long result;
+ int i;
result = (codep[0] & 0x80) ? ~0L : 0;
for (i = 0; i < 4; ++i)
@@ -238,8 +238,8 @@ detzcode(const char *const codep)
static time_t
detzcode64(const char *const codep)
{
- register time_t result;
- register int i;
+ time_t result;
+ int i;
result = (codep[0] & 0x80) ? (~(int_fast64_t) 0) : 0;
for (i = 0; i < 8; ++i)
@@ -250,8 +250,8 @@ detzcode64(const char *const codep)
static void
settzname(void)
{
- register struct state * const sp = lclptr;
- register int i;
+ struct state * const sp = lclptr;
+ int i;
tzname[0] = wildabbr;
tzname[1] = wildabbr;
@@ -272,7 +272,7 @@ settzname(void)
** And to get the latest zone names into tzname. . .
*/
for (i = 0; i < sp->timecnt; ++i) {
- register const struct ttinfo * const ttisp =
+ const struct ttinfo * const ttisp =
&sp->ttis[
sp->types[i]];
@@ -300,8 +300,8 @@ settzname(void)
** Second, truncate long abbreviations.
*/
for (i = 0; i < sp->typecnt; ++i) {
- register const struct ttinfo * const ttisp = &sp->ttis[i];
- register char * cp = &sp->chars[ttisp->tt_abbrind];
+ const struct ttinfo * const ttisp = &sp->ttis[i];
+ char * cp = &sp->chars[ttisp->tt_abbrind];
if (strlen(cp) > TZ_ABBR_MAX_LEN &&
strcmp(cp, GRANDPARENTED) != 0)
@@ -319,14 +319,13 @@ differ_by_repeat(const time_t t1, const time_t t0)
}
static int
-tzload(register const char *name, register struct state *const sp,
- register const int doextend)
+tzload(const char *name, struct state *const sp, const int doextend)
{
- register const char * p;
- register int i;
- register int fid;
- register int stored;
- register int nread;
+ const char * p;
+ int i;
+ int fid;
+ int stored;
+ int nread;
typedef union {
struct tzhead tzhead;
char buf[2 * sizeof(struct tzhead) +
@@ -334,21 +333,21 @@ tzload(register const char *name, register struct state *const sp,
4 * TZ_MAX_TIMES];
} u_t;
#ifdef ALL_STATE
- register u_t * up;
+ u_t * up;
up = (u_t *) calloc(1, sizeof *up);
if (up == NULL)
return -1;
#else /* !defined ALL_STATE */
- u_t u;
- register u_t * const up = &u;
+ u_t u;
+ u_t * const up = &u;
#endif /* !defined ALL_STATE */
sp->goback = sp->goahead = FALSE;
if (name == NULL && (name = TZDEFAULT) == NULL)
goto oops;
{
- register int doaccess;
+ int doaccess;
/*
** Section 4.9.1 of the C standard says that
** "FILENAME_MAX expands to an integral constant expression
@@ -422,7 +421,7 @@ tzload(register const char *name, register struct state *const sp,
goto oops;
}
for (i = 0; i < sp->typecnt; ++i) {
- register struct ttinfo * ttisp;
+ struct ttinfo * ttisp;
ttisp = &sp->ttis[i];
ttisp->tt_gmtoff = detzcode(p);
@@ -439,7 +438,7 @@ tzload(register const char *name, register struct state *const sp,
sp->chars[i] = *p++;
sp->chars[i] = '\0'; /* ensure '\0' at end */
for (i = 0; i < sp->leapcnt; ++i) {
- register struct lsinfo * lsisp;
+ struct lsinfo * lsisp;
lsisp = &sp->lsis[i];
lsisp->ls_trans = (stored == 4) ?
@@ -449,7 +448,7 @@ tzload(register const char *name, register struct state *const sp,
p += 4;
}
for (i = 0; i < sp->typecnt; ++i) {
- register struct ttinfo * ttisp;
+ struct ttinfo * ttisp;
ttisp = &sp->ttis[i];
if (ttisstdcnt == 0)
@@ -462,7 +461,7 @@ tzload(register const char *name, register struct state *const sp,
}
}
for (i = 0; i < sp->typecnt; ++i) {
- register struct ttinfo * ttisp;
+ struct ttinfo * ttisp;
ttisp = &sp->ttis[i];
if (ttisgmtcnt == 0)
@@ -491,7 +490,7 @@ tzload(register const char *name, register struct state *const sp,
/*
** Ignore the beginning (harder).
*/
- register int j;
+ int j;
for (j = 0; j + i < sp->timecnt; ++j) {
sp->ats[j] = sp->ats[j + i];
@@ -519,7 +518,7 @@ tzload(register const char *name, register struct state *const sp,
up->buf[0] == '\n' && up->buf[nread - 1] == '\n' &&
sp->typecnt + 2 <= TZ_MAX_TYPES) {
struct state ts;
- register int result;
+ int result;
up->buf[nread - 1] = '\0';
result = tzparse(&up->buf[1], &ts, FALSE);
@@ -580,15 +579,15 @@ oops:
static int
typesequiv(const struct state *const sp, const int a, const int b)
{
- register int result;
+ int result;
if (sp == NULL ||
a < 0 || a >= sp->typecnt ||
b < 0 || b >= sp->typecnt)
result = FALSE;
else {
- register const struct ttinfo * ap = &sp->ttis[a];
- register const struct ttinfo * bp = &sp->ttis[b];
+ const struct ttinfo * ap = &sp->ttis[a];
+ const struct ttinfo * bp = &sp->ttis[b];
result = ap->tt_gmtoff == bp->tt_gmtoff &&
ap->tt_isdst == bp->tt_isdst &&
ap->tt_ttisstd == bp->tt_ttisstd &&
@@ -615,9 +614,9 @@ static const int year_lengths[2] = {
*/
static const char *
-getzname(register const char *strp)
+getzname(const char *strp)
{
- register char c;
+ char c;
while ((c = *strp) != '\0' && !is_digit(c) && c != ',' && c != '-' &&
c != '+')
@@ -635,9 +634,9 @@ getzname(register const char *strp)
*/
static const char *
-getqzname(register const char *strp, const int delim)
+getqzname(const char *strp, const int delim)
{
- register int c;
+ int c;
while ((c = *strp) != '\0' && c != delim)
++strp;
@@ -652,10 +651,10 @@ getqzname(register const char *strp, const int delim)
*/
static const char *
-getnum(register const char *strp, int *const nump, const int min, const int max)
+getnum(const char *strp, int *const nump, const int min, const int max)
{
- register char c;
- register int num;
+ char c;
+ int num;
if (strp == NULL || !is_digit(c = *strp))
return NULL;
@@ -681,7 +680,7 @@ getnum(register const char *strp, int *const nump, const int min, const int max)
*/
static const char *
-getsecs(register const char *strp, long *const secsp)
+getsecs(const char *strp, long *const secsp)
{
int num;
@@ -721,9 +720,9 @@ getsecs(register const char *strp, long *const secsp)
*/
static const char *
-getoffset(register const char *strp, long *const offsetp)
+getoffset(const char *strp, long *const offsetp)
{
- register int neg = 0;
+ int neg = 0;
if (*strp == '-') {
neg = 1;
@@ -746,7 +745,7 @@ getoffset(register const char *strp, long *const offsetp)
*/
static const char *
-getrule(const char *strp, register struct rule *const rulep)
+getrule(const char *strp, struct rule *const rulep)
{
if (*strp == 'J') {
/*
@@ -799,12 +798,12 @@ getrule(const char *strp, register struct rule *const rulep)
static time_t
transtime(const time_t janfirst, const int year,
- register const struct rule *const rulep, const long offset)
+ const struct rule *const rulep, const long offset)
{
- register int leapyear;
- register time_t value;
- register int i;
- int d, m1, yy0, yy1, yy2, dow;
+ int leapyear;
+ time_t value;
+ int i;
+ int d, m1, yy0, yy1, yy2, dow;
INITIALIZE(value);
leapyear = isleap(year);
@@ -890,20 +889,20 @@ transtime(const time_t janfirst, const int year,
*/
static int
-tzparse(const char *name, register struct state *const sp,
+tzparse(const char *name, struct state *const sp,
const int lastditch)
{
- const char * stdname;
- const char * dstname;
- size_t stdlen;
- size_t dstlen;
- long stdoffset;
- long dstoffset;
- register time_t * atp;
- register unsigned char * typep;
- register char * cp;
- register int load_result;
- static struct ttinfo zttinfo;
+ const char * stdname;
+ const char * dstname;
+ size_t stdlen;
+ size_t dstlen;
+ long stdoffset;
+ long dstoffset;
+ time_t * atp;
+ unsigned char * typep;
+ char * cp;
+ int load_result;
+ static struct ttinfo zttinfo;
INITIALIZE(dstname);
stdname = name;
@@ -958,8 +957,8 @@ tzparse(const char *name, register struct state *const sp,
if (*name == ',' || *name == ';') {
struct rule start;
struct rule end;
- register int year;
- register time_t janfirst;
+ int year;
+ time_t janfirst;
time_t starttime;
time_t endtime;
@@ -1016,12 +1015,12 @@ tzparse(const char *name, register struct state *const sp,
janfirst = newfirst;
}
} else {
- register long theirstdoffset;
- register long theirdstoffset;
- register long theiroffset;
- register int isdst;
- register int i;
- register int j;
+ long theirstdoffset;
+ long theirdstoffset;
+ long theiroffset;
+ int isdst;
+ int i;
+ int j;
if (*name != '\0')
return -1;
@@ -1163,7 +1162,7 @@ tzsetwall(void)
void
tzset(void)
{
- register const char * name;
+ const char * name;
name = getenv("TZ");
if (name == NULL) {
@@ -1216,11 +1215,11 @@ tzset(void)
static struct tm *
localsub(const time_t *const timep, const long offset, struct tm *const tmp)
{
- register struct state * sp;
- register const struct ttinfo * ttisp;
- register int i;
- register struct tm * result;
- const time_t t = *timep;
+ struct state * sp;
+ const struct ttinfo * ttisp;
+ int i;
+ struct tm * result;
+ const time_t t = *timep;
sp = lclptr;
#ifdef ALL_STATE
@@ -1229,10 +1228,10 @@ localsub(const time_t *const timep, const long offset, struct tm *const tmp)
#endif /* defined ALL_STATE */
if ((sp->goback && t < sp->ats[0]) ||
(sp->goahead && t > sp->ats[sp->timecnt - 1])) {
- time_t newt = t;
- register time_t seconds;
- register time_t tcycles;
- register int_fast64_t icycles;
+ time_t newt = t;
+ time_t seconds;
+ time_t tcycles;
+ int_fast64_t icycles;
if (t < sp->ats[0])
seconds = sp->ats[0] - t;
@@ -1254,7 +1253,7 @@ localsub(const time_t *const timep, const long offset, struct tm *const tmp)
return NULL; /* "cannot happen" */
result = localsub(&newt, offset, tmp);
if (result == tmp) {
- register time_t newy;
+ time_t newy;
newy = tmp->tm_year;
if (t < sp->ats[0])
@@ -1274,11 +1273,11 @@ localsub(const time_t *const timep, const long offset, struct tm *const tmp)
break;
}
} else {
- register int lo = 1;
- register int hi = sp->timecnt;
+ int lo = 1;
+ int hi = sp->timecnt;
while (lo < hi) {
- register int mid = (lo + hi) >> 1;
+ int mid = (lo + hi) >> 1;
if (t < sp->ats[mid])
hi = mid;
@@ -1326,7 +1325,7 @@ localtime_r(const time_t *const timep, struct tm *tmp)
static struct tm *
gmtsub(const time_t *const timep, const long offset, struct tm *const tmp)
{
- register struct tm * result;
+ struct tm * result;
if (!gmt_is_set) {
gmt_is_set = TRUE;
@@ -1391,7 +1390,7 @@ offtime(const time_t *const timep, const long offset)
*/
static int
-leaps_thru_end_of(register const int y)
+leaps_thru_end_of(const int y)
{
return (y >= 0) ? (y / 4 - y / 100 + y / 400) :
-(leaps_thru_end_of(-(y + 1)) + 1);
@@ -1399,18 +1398,18 @@ leaps_thru_end_of(register const int y)
static struct tm *
timesub(const time_t *const timep, const long offset,
- register const struct state *const sp,
- register struct tm *const tmp)
+ const struct state *const sp,
+ struct tm *const tmp)
{
- register const struct lsinfo * lp;
- register time_t tdays;
- register int idays; /* unsigned would be so 2003 */
- register long rem;
- int y;
- register const int * ip;
- register long corr;
- register int hit;
- register int i;
+ const struct lsinfo * lp;
+ time_t tdays;
+ int idays; /* unsigned would be so 2003 */
+ long rem;
+ int y;
+ const int * ip;
+ long corr;
+ int hit;
+ int i;
corr = 0;
hit = 0;
@@ -1444,10 +1443,10 @@ timesub(const time_t *const timep, const long offset,
tdays = *timep / SECSPERDAY;
rem = *timep - tdays * SECSPERDAY;
while (tdays < 0 || tdays >= year_lengths[isleap(y)]) {
- int newy;
- register time_t tdelta;
- register int idelta;
- register int leapdays;
+ int newy;
+ time_t tdelta;
+ int idelta;
+ int leapdays;
tdelta = tdays / DAYSPERLYEAR;
idelta = tdelta;
@@ -1465,7 +1464,7 @@ timesub(const time_t *const timep, const long offset,
y = newy;
}
{
- register long seconds;
+ long seconds;
seconds = tdays * SECSPERDAY + 0.5;
tdays = seconds / SECSPERDAY;
@@ -1569,7 +1568,7 @@ ctime_r(const time_t *const timep, char *buf)
static int
increment_overflow(int *const ip, int j)
{
- register int const i = *ip;
+ int const i = *ip;
/*
** If i >= 0 there can only be overflow if i + j > INT_MAX
@@ -1586,7 +1585,7 @@ increment_overflow(int *const ip, int j)
static int
long_increment_overflow(long *const lp, int const m)
{
- register long const l = *lp;
+ long const l = *lp;
if ((l >= 0) ? (m > LONG_MAX - l) : (m < LONG_MIN - l))
return TRUE;
@@ -1597,7 +1596,7 @@ long_increment_overflow(long *const lp, int const m)
static int
normalize_overflow(int *const tensptr, int *const unitsptr, const int base)
{
- register int tensdelta;
+ int tensdelta;
tensdelta = (*unitsptr >= 0) ?
(*unitsptr / base) :
@@ -1609,7 +1608,7 @@ normalize_overflow(int *const tensptr, int *const unitsptr, const int base)
static int
long_normalize_overflow(long *const tensptr, int *const unitsptr, const int base)
{
- register int tensdelta;
+ int tensdelta;
tensdelta = (*unitsptr >= 0) ?
(*unitsptr / base) :
@@ -1619,10 +1618,10 @@ long_normalize_overflow(long *const tensptr, int *const unitsptr, const int base
}
static int
-tmcomp(register const struct tm *const atmp,
- register const struct tm *const btmp)
+tmcomp(const struct tm *const atmp,
+ const struct tm *const btmp)
{
- register int result;
+ int result;
if ((result = (atmp->tm_year - btmp->tm_year)) == 0 &&
(result = (atmp->tm_mon - btmp->tm_mon)) == 0 &&
@@ -1640,17 +1639,17 @@ time2sub(struct tm *const tmp,
int *const okayp,
const int do_norm_secs)
{
- register const struct state * sp;
- register int dir;
- register int i, j;
- register int saved_seconds;
- register long li;
- register time_t lo;
- register time_t hi;
- long y;
- time_t newt;
- time_t t;
- struct tm yourtm, mytm;
+ const struct state * sp;
+ int dir;
+ int i, j;
+ int saved_seconds;
+ long li;
+ time_t lo;
+ time_t hi;
+ long y;
+ time_t newt;
+ time_t t;
+ struct tm yourtm, mytm;
*okayp = FALSE;
yourtm = *tmp;
@@ -1838,15 +1837,15 @@ time1(struct tm *const tmp,
struct tm *(*const funcp) (const time_t *, long, struct tm *),
const long offset)
{
- register time_t t;
- register const struct state * sp;
- register int samei, otheri;
- register int sameind, otherind;
- register int i;
- register int nseen;
- int seen[TZ_MAX_TYPES];
- int types[TZ_MAX_TYPES];
- int okay;
+ time_t t;
+ const struct state * sp;
+ int samei, otheri;
+ int sameind, otherind;
+ int i;
+ int nseen;
+ int seen[TZ_MAX_TYPES];
+ int types[TZ_MAX_TYPES];
+ int okay;
if (tmp == NULL) {
errno = EINVAL;
@@ -1980,9 +1979,9 @@ gtime(struct tm *const tmp)
static long
leapcorr(time_t *timep)
{
- register struct state * sp;
- register struct lsinfo * lp;
- register int i;
+ struct state * sp;
+ struct lsinfo * lp;
+ int i;
sp = lclptr;
i = sp->leapcnt;
diff --git a/scheck.c b/scheck.c
index ed60980..95bb716 100644
--- a/scheck.c
+++ b/scheck.c
@@ -10,12 +10,12 @@
const char *
scheck(const char *const string, const char *const format)
{
- register char * fbuf;
- register const char * fp;
- register char * tp;
- register int c;
- register const char * result;
- char dummy;
+ char * fbuf;
+ const char * fp;
+ char * tp;
+ int c;
+ const char * result;
+ char dummy;
result = "";
if (string == NULL || format == NULL)
diff --git a/strftime.c b/strftime.c
index 4950f74..5b302ac 100644
--- a/strftime.c
+++ b/strftime.c
@@ -587,8 +587,8 @@ static char *
_yconv(const int a, const int b, const int convert_top, const int convert_yy,
char *pt, const char *const ptlim)
{
- register int lead;
- register int trail;
+ int lead;
+ int trail;
#define DIVISOR 100
trail = a % DIVISOR + b % DIVISOR;
diff --git a/zdump.c b/zdump.c
index 6caa7a2..ddb46b9 100644
--- a/zdump.c
+++ b/zdump.c
@@ -17,6 +17,7 @@
#include "time.h" /* for struct tm */
#include "stdlib.h" /* for exit, malloc, atoi */
#include "float.h" /* for FLT_MAX and DBL_MAX */
+#include "limits.h" /* for CHAR_BIT, LLONG_MAX */
#include "ctype.h" /* for isalpha et al. */
#ifndef isascii
#define isascii(x) 1
@@ -150,8 +151,35 @@ extern char * optarg;
extern int optind;
extern char * tzname[2];
-static time_t absolute_min_time;
-static time_t absolute_max_time;
+/* The minimum and maximum finite time values. Shift 'long long' or
+ 'long' instead of 'time_t'; this avoids compile-time errors when
+ time_t is floating-point. In practice, 'long long' is wide enough. */
+static time_t const absolute_min_time =
+ ((time_t) 0.5 == 0.5
+ ? (sizeof (time_t) == sizeof (float) ? (time_t) -FLT_MAX
+ : sizeof (time_t) == sizeof (double) ? (time_t) -DBL_MAX
+ : sizeof (time_t) == sizeof (long double) ? (time_t) -LDBL_MAX
+ : 0)
+ : (time_t) -1 < 0
+#ifdef LLONG_MAX
+ ? (time_t) ((long long) -1 << (CHAR_BIT * sizeof (time_t) - 1))
+#else
+ ? (time_t) ((long) -1 << (CHAR_BIT * sizeof (time_t) - 1))
+#endif
+ : 0);
+static time_t const absolute_max_time =
+ ((time_t) 0.5 == 0.5
+ ? (sizeof (time_t) == sizeof (float) ? (time_t) FLT_MAX
+ : sizeof (time_t) == sizeof (double) ? (time_t) DBL_MAX
+ : sizeof (time_t) == sizeof (long double) ? (time_t) LDBL_MAX
+ : -1)
+ : (time_t) -1 < 0
+#ifdef LLONG_MAX
+ ? (time_t) (- (~ 0 < 0) - ((long long) -1 << (CHAR_BIT * sizeof (time_t) - 1)))
+#else
+ ? (time_t) (- (~ 0 < 0) - ((long) -1 << (CHAR_BIT * sizeof (time_t) - 1)))
+#endif
+ : (time_t) -1);
static size_t longest;
static char * progname;
static int warned;
@@ -161,7 +189,7 @@ static void abbrok(const char * abbrp, const char * zone);
static long delta(struct tm * newp, struct tm * oldp) ATTRIBUTE_PURE;
static void dumptime(const struct tm * tmp);
static time_t hunt(char * name, time_t lot, time_t hit);
-static void setabsolutes(void);
+static void checkabsolutes(void);
static void show(char * zone, time_t t, int v);
static const char * tformat(void);
static time_t yeartot(long y) ATTRIBUTE_PURE;
@@ -172,12 +200,12 @@ static time_t yeartot(long y) ATTRIBUTE_PURE;
static struct tm *
my_localtime(time_t *tp)
{
- register struct tm * tmp;
+ struct tm * tmp;
tmp = localtime(tp);
if (tp != NULL && tmp != NULL) {
struct tm tm;
- register time_t t;
+ time_t t;
tm = *tmp;
t = mktime(&tm);
@@ -205,8 +233,8 @@ my_localtime(time_t *tp)
static void
abbrok(const char *const abbrp, const char *const zone)
{
- register const char * cp;
- register const char * wp;
+ const char * cp;
+ const char * wp;
if (warned)
return;
@@ -252,22 +280,22 @@ Report bugs to tz at elsie.nci.nih.gov.\n"),
int
main(int argc, char *argv[])
{
- register int i;
- register int c;
- register int vflag;
- register char * cutarg;
- register long cutloyear = ZDUMP_LO_YEAR;
- register long cuthiyear = ZDUMP_HI_YEAR;
- register time_t cutlotime;
- register time_t cuthitime;
- register char ** fakeenv;
- time_t now;
- time_t t;
- time_t newt;
- struct tm tm;
- struct tm newtm;
- register struct tm * tmp;
- register struct tm * newtmp;
+ int i;
+ int c;
+ int vflag;
+ char * cutarg;
+ long cutloyear = ZDUMP_LO_YEAR;
+ long cuthiyear = ZDUMP_HI_YEAR;
+ time_t cutlotime;
+ time_t cuthitime;
+ char ** fakeenv;
+ time_t now;
+ time_t t;
+ time_t newt;
+ struct tm tm;
+ struct tm newtm;
+ struct tm * tmp;
+ struct tm * newtmp;
INITIALIZE(cutlotime);
INITIALIZE(cuthitime);
@@ -314,7 +342,7 @@ main(int argc, char *argv[])
exit(EXIT_FAILURE);
}
}
- setabsolutes();
+ checkabsolutes();
cutlotime = yeartot(cutloyear);
cuthitime = yeartot(cuthiyear);
}
@@ -324,8 +352,8 @@ main(int argc, char *argv[])
if (strlen(argv[i]) > longest)
longest = strlen(argv[i]);
{
- register int from;
- register int to;
+ int from;
+ int to;
for (i = 0; environ[i] != NULL; ++i)
continue;
@@ -404,56 +432,22 @@ main(int argc, char *argv[])
}
static void
-setabsolutes(void)
+checkabsolutes(void)
{
- if (0.5 == (time_t) 0.5) {
- /*
- ** time_t is floating.
- */
- if (sizeof (time_t) == sizeof (float)) {
- absolute_min_time = (time_t) -FLT_MAX;
- absolute_max_time = (time_t) FLT_MAX;
- } else if (sizeof (time_t) == sizeof (double)) {
- absolute_min_time = (time_t) -DBL_MAX;
- absolute_max_time = (time_t) DBL_MAX;
- } else {
- (void) fprintf(stderr,
+ if (absolute_max_time < absolute_min_time) {
+ (void) fprintf(stderr,
_("%s: use of -v on system with floating time_t other than float or double\n"),
- progname);
- exit(EXIT_FAILURE);
- }
- } else if (0 > (time_t) -1) {
- /*
- ** time_t is signed. Assume overflow wraps around.
- */
- time_t t = 0;
- time_t t1 = 1;
-
- while (t < t1) {
- t = t1;
- t1 = 2 * t1 + 1;
- }
-
- absolute_max_time = t;
- t = -t;
- absolute_min_time = t - 1;
- if (t < absolute_min_time)
- absolute_min_time = t;
- } else {
- /*
- ** time_t is unsigned.
- */
- absolute_min_time = 0;
- absolute_max_time = absolute_min_time - 1;
+ progname);
+ exit(EXIT_FAILURE);
}
}
static time_t
yeartot(const long y)
{
- register long myy;
- register long seconds;
- register time_t t;
+ long myy;
+ long seconds;
+ time_t t;
myy = EPOCH_YEAR;
t = 0;
@@ -482,13 +476,13 @@ yeartot(const long y)
static time_t
hunt(char *name, time_t lot, time_t hit)
{
- time_t t;
- long diff;
- struct tm lotm;
- register struct tm * lotmp;
- struct tm tm;
- register struct tm * tmp;
- char loab[MAX_STRING_LENGTH];
+ time_t t;
+ long diff;
+ struct tm lotm;
+ struct tm * lotmp;
+ struct tm tm;
+ struct tm * tmp;
+ char loab[MAX_STRING_LENGTH];
lotmp = my_localtime(&lot);
if (lotmp != NULL) {
@@ -529,8 +523,8 @@ hunt(char *name, time_t lot, time_t hit)
static long
delta(struct tm * newp, struct tm *oldp)
{
- register long result;
- register int tmy;
+ long result;
+ int tmy;
if (newp->tm_year < oldp->tm_year)
return -delta(oldp, newp);
@@ -550,7 +544,7 @@ delta(struct tm * newp, struct tm *oldp)
static void
show(char *zone, time_t t, int v)
{
- register struct tm * tmp;
+ struct tm * tmp;
(void) printf("%-*s ", (int) longest, zone);
if (v) {
@@ -583,7 +577,7 @@ show(char *zone, time_t t, int v)
static char *
abbr(struct tm *tmp)
{
- register char * result;
+ char * result;
static char nada;
if (tmp->tm_isdst != 0 && tmp->tm_isdst != 1)
@@ -620,7 +614,7 @@ tformat(void)
}
static void
-dumptime(register const struct tm *timeptr)
+dumptime(const struct tm *timeptr)
{
static const char wday_name[][3] = {
"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"
@@ -629,10 +623,10 @@ dumptime(register const struct tm *timeptr)
"Jan", "Feb", "Mar", "Apr", "May", "Jun",
"Jul", "Aug", "Sep", "Oct", "Nov", "Dec"
};
- register const char * wn;
- register const char * mn;
- register int lead;
- register int trail;
+ const char * wn;
+ const char * mn;
+ int lead;
+ int trail;
if (timeptr == NULL) {
(void) printf("NULL");
diff --git a/zic.c b/zic.c
index 64af1b2..28b2a24 100644
--- a/zic.c
+++ b/zic.c
@@ -440,9 +440,9 @@ static const char * yitcommand;
int
main(int argc, char **argv)
{
- register int i;
- register int j;
- register int c;
+ int i;
+ int j;
+ int c;
#ifdef unix
(void) umask(umask(S_IWGRP | S_IWOTH) | (S_IWGRP | S_IWOTH));
@@ -579,8 +579,8 @@ _("%s: More than one -L option specified\n"),
static void
dolink(const char *const fromfield, const char *const tofield)
{
- register char * fromname;
- register char * toname;
+ char * fromname;
+ char * toname;
if (fromfield[0] == '/')
fromname = ecpyalloc(fromfield);
@@ -614,7 +614,7 @@ dolink(const char *const fromfield, const char *const tofield)
access(fromname, F_OK) == 0 &&
!itsdir(fromname)) {
const char *s = tofield;
- register char * symlinkcontents = NULL;
+ char *symlinkcontents = NULL;
while ((s = strchr(s+1, '/')) != NULL)
symlinkcontents =
@@ -651,8 +651,8 @@ static const zic_t max_time = -1 - ((zic_t) -1 << (TIME_T_BITS_IN_FILE - 1));
static int
itsdir(const char *const name)
{
- register char * myname;
- register int accres;
+ char * myname;
+ int accres;
myname = ecpyalloc(name);
myname = ecatalloc(myname, "/.");
@@ -679,10 +679,10 @@ rcomp(const void *cp1, const void *cp2)
static void
associate(void)
{
- register struct zone * zp;
- register struct rule * rp;
- register int base, out;
- register int i, j;
+ struct zone * zp;
+ struct rule * rp;
+ int base, out;
+ int i, j;
if (nrules != 0) {
(void) qsort(rules, nrules, sizeof *rules, rcomp);
@@ -754,14 +754,14 @@ associate(void)
static void
infile(const char *name)
{
- register FILE * fp;
- register char ** fields;
- register char * cp;
- register const struct lookup * lp;
- register int nfields;
- register int wantcont;
- register int num;
- char buf[BUFSIZ];
+ FILE * fp;
+ char ** fields;
+ char * cp;
+ const struct lookup * lp;
+ int nfields;
+ int wantcont;
+ int num;
+ char buf[BUFSIZ];
if (strcmp(name, "-") == 0) {
name = _("standard input");
@@ -897,7 +897,7 @@ warning(_("values over 24 hours not handled by pre-2007 versions of zic"));
}
static void
-inrule(register char **const fields, const int nfields)
+inrule(char **const fields, const int nfields)
{
static struct rule r;
@@ -923,9 +923,9 @@ inrule(register char **const fields, const int nfields)
}
static int
-inzone(register char **const fields, const int nfields)
+inzone(char **const fields, const int nfields)
{
- register int i;
+ int i;
static char * buf;
if (nfields < ZONE_MINFIELDS || nfields > ZONE_MAXFIELDS) {
@@ -966,7 +966,7 @@ _("duplicate zone name %s (file \"%s\", line %d)"),
}
static int
-inzcont(register char **const fields, const int nfields)
+inzcont(char **const fields, const int nfields)
{
if (nfields < ZONEC_MINFIELDS || nfields > ZONEC_MAXFIELDS) {
error(_("wrong number of fields on Zone continuation line"));
@@ -976,14 +976,14 @@ inzcont(register char **const fields, const int nfields)
}
static int
-inzsub(register char **const fields, const int nfields, const int iscont)
+inzsub(char **const fields, const int nfields, const int iscont)
{
- register char * cp;
+ char * cp;
static struct zone z;
- register int i_gmtoff, i_rule, i_format;
- register int i_untilyear, i_untilmonth;
- register int i_untilday, i_untiltime;
- register int hasuntil;
+ int i_gmtoff, i_rule, i_format;
+ int i_untilyear, i_untilmonth;
+ int i_untilday, i_untiltime;
+ int hasuntil;
if (iscont) {
i_gmtoff = ZFC_GMTOFF;
@@ -1053,14 +1053,14 @@ inzsub(register char **const fields, const int nfields, const int iscont)
}
static void
-inleap(register char ** const fields, const int nfields)
+inleap(char ** const fields, const int nfields)
{
- register const char * cp;
- register const struct lookup * lp;
- register int i, j;
- int year, month, day;
- long dayoff, tod;
- zic_t t;
+ const char * cp;
+ const struct lookup * lp;
+ int i, j;
+ int year, month, day;
+ long dayoff, tod;
+ zic_t t;
if (nfields != LEAP_FIELDS) {
error(_("wrong number of fields on Leap line"));
@@ -1125,8 +1125,8 @@ inleap(register char ** const fields, const int nfields)
tod = gethms(fields[LP_TIME], _("invalid time of day"), FALSE);
cp = fields[LP_CORR];
{
- register int positive;
- int count;
+ int positive;
+ int count;
if (strcmp(cp, "") == 0) { /* infile() turns "-" into "" */
positive = FALSE;
@@ -1155,7 +1155,7 @@ inleap(register char ** const fields, const int nfields)
}
static void
-inlink(register char **const fields, const int nfields)
+inlink(char **const fields, const int nfields)
{
struct link l;
@@ -1180,7 +1180,7 @@ inlink(register char **const fields, const int nfields)
}
static void
-rulesub(register struct rule *const rp,
+rulesub(struct rule *const rp,
const char *const loyearp,
const char *const hiyearp,
const char *const typep,
@@ -1188,10 +1188,10 @@ rulesub(register struct rule *const rp,
const char *const dayp,
const char *const timep)
{
- register const struct lookup * lp;
- register const char * cp;
- register char * dp;
- register char * ep;
+ const struct lookup * lp;
+ const char * cp;
+ char * dp;
+ char * ep;
if ((lp = byword(monthp, mon_names)) == NULL) {
error(_("invalid month name"));
@@ -1332,8 +1332,8 @@ rulesub(register struct rule *const rp,
static void
convert(const long val, char *const buf)
{
- register int i;
- register int shift;
+ int i;
+ int shift;
unsigned char *const b = (unsigned char *) buf;
for (i = 0, shift = 24; i < 4; ++i, shift -= 8)
@@ -1343,8 +1343,8 @@ convert(const long val, char *const buf)
static void
convert64(const zic_t val, char *const buf)
{
- register int i;
- register int shift;
+ int i;
+ int shift;
unsigned char *const b = (unsigned char *) buf;
for (i = 0, shift = 56; i < 8; ++i, shift -= 8)
@@ -1387,11 +1387,11 @@ is32(const zic_t x)
static void
writezone(const char *const name, const char *const string)
{
- register FILE * fp;
- register int i, j;
- register int leapcnt32, leapi32;
- register int timecnt32, timei32;
- register int pass;
+ FILE * fp;
+ int i, j;
+ int leapcnt32, leapi32;
+ int timecnt32, timei32;
+ int pass;
static char * fullname;
static const struct tzhead tzh0;
static struct tzhead tzh;
@@ -1494,15 +1494,15 @@ writezone(const char *const name, const char *const string)
}
}
for (pass = 1; pass <= 2; ++pass) {
- register int thistimei, thistimecnt;
- register int thisleapi, thisleapcnt;
- register int thistimelim, thisleaplim;
- int writetype[TZ_MAX_TIMES];
- int typemap[TZ_MAX_TYPES];
- register int thistypecnt;
- char thischars[TZ_MAX_CHARS];
- char thischarcnt;
- int indmap[TZ_MAX_CHARS];
+ int thistimei, thistimecnt;
+ int thisleapi, thisleapcnt;
+ int thistimelim, thisleaplim;
+ int writetype[TZ_MAX_TIMES];
+ int typemap[TZ_MAX_TYPES];
+ int thistypecnt;
+ char thischars[TZ_MAX_CHARS];
+ char thischarcnt;
+ int indmap[TZ_MAX_CHARS];
if (pass == 1) {
thistimei = timei32;
@@ -1546,7 +1546,7 @@ writezone(const char *const name, const char *const string)
** set correctly).
*/
{
- register int mrudst, mrustd, hidst, histd, type;
+ int mrudst, mrustd, hidst, histd, type;
hidst = histd = mrudst = mrustd = -1;
for (i = thistimei; i < thistimelim; ++i)
@@ -1590,7 +1590,7 @@ writezone(const char *const name, const char *const string)
indmap[i] = -1;
thischarcnt = 0;
for (i = 0; i < typecnt; ++i) {
- register char * thisabbr;
+ char * thisabbr;
if (!writetype[i])
continue;
@@ -1647,7 +1647,7 @@ writezone(const char *const name, const char *const string)
(void) fwrite(thischars, sizeof thischars[0],
thischarcnt, fp);
for (i = thisleapi; i < thisleaplim; ++i) {
- register zic_t todo;
+ zic_t todo;
if (roll[i]) {
if (timecnt == 0 || trans[i] < ats[0]) {
@@ -1690,9 +1690,9 @@ static void
doabbr(char *const abbr, const char *const format, const char *const letters,
const int isdst, const int doquotes)
{
- register char * cp;
- register char * slashp;
- register int len;
+ char * cp;
+ char * slashp;
+ int len;
slashp = strchr(format, '/');
if (slashp == NULL) {
@@ -1734,9 +1734,9 @@ updateminmax(const int x)
static int
stringoffset(char *result, long offset)
{
- register int hours;
- register int minutes;
- register int seconds;
+ int hours;
+ int minutes;
+ int seconds;
result[0] = '\0';
if (offset < 0) {
@@ -1765,11 +1765,11 @@ static int
stringrule(char *result, const struct rule *const rp, const long dstoff,
const long gmtoff)
{
- register long tod;
+ long tod;
result = end(result);
if (rp->r_dycode == DC_DOM) {
- register int month, total;
+ int month, total;
if (rp->r_dayofmonth == 29 && rp->r_month == TM_FEBRUARY)
return -1;
@@ -1778,7 +1778,7 @@ stringrule(char *result, const struct rule *const rp, const long dstoff,
total += len_months[0][month];
(void) sprintf(result, "J%d", total + rp->r_dayofmonth);
} else {
- register int week;
+ int week;
if (rp->r_dycode == DC_DOWGEQ) {
if ((rp->r_dayofmonth % DAYSPERWEEK) != 1)
@@ -1816,12 +1816,12 @@ stringrule(char *result, const struct rule *const rp, const long dstoff,
static void
stringzone(char *result, const struct zone *const zpfirst, const int zonecount)
{
- register const struct zone * zp;
- register struct rule * rp;
- register struct rule * stdrp;
- register struct rule * dstrp;
- register int i;
- register const char * abbrvar;
+ const struct zone * zp;
+ struct rule * rp;
+ struct rule * stdrp;
+ struct rule * dstrp;
+ int i;
+ const char * abbrvar;
result[0] = '\0';
zp = zpfirst + zonecount - 1;
@@ -1896,24 +1896,24 @@ stringzone(char *result, const struct zone *const zpfirst, const int zonecount)
static void
outzone(const struct zone * const zpfirst, const int zonecount)
{
- register const struct zone * zp;
- register struct rule * rp;
- register int i, j;
- register int usestart, useuntil;
- register zic_t starttime, untiltime;
- register long gmtoff;
- register long stdoff;
- register int year;
- register long startoff;
- register int startttisstd;
- register int startttisgmt;
- register int type;
- register char * startbuf;
- register char * ab;
- register char * envvar;
- register int max_abbr_len;
- register int max_envvar_len;
- register int prodstic; /* all rules are min to max */
+ const struct zone * zp;
+ struct rule * rp;
+ int i, j;
+ int usestart, useuntil;
+ zic_t starttime, untiltime;
+ long gmtoff;
+ long stdoff;
+ int year;
+ long startoff;
+ int startttisstd;
+ int startttisgmt;
+ int type;
+ char * startbuf;
+ char * ab;
+ char * envvar;
+ int max_abbr_len;
+ int max_envvar_len;
+ int prodstic; /* all rules are min to max */
max_abbr_len = 2 + max_format_len + max_abbrvar_len;
max_envvar_len = 2 * max_abbr_len + 5 * 9;
@@ -1959,7 +1959,7 @@ outzone(const struct zone * const zpfirst, const int zonecount)
*/
stringzone(envvar, zpfirst, zonecount);
if (noise && envvar[0] == '\0') {
- register char * wp;
+ char * wp;
wp = ecpyalloc(_("no POSIX environment variable for zone"));
wp = ecatalloc(wp, " ");
@@ -2037,9 +2037,9 @@ wp = ecpyalloc(_("no POSIX environment variable for zone"));
rp->r_temp = rpytime(rp, year);
}
for ( ; ; ) {
- register int k;
- register zic_t jtime, ktime;
- register long offset;
+ int k;
+ zic_t jtime, ktime;
+ long offset;
INITIALIZE(ktime);
if (useuntil) {
@@ -2184,7 +2184,7 @@ static int
addtype(const long gmtoff, const char *const abbr, const int isdst,
const int ttisstd, const int ttisgmt)
{
- register int i, j;
+ int i, j;
if (isdst != TRUE && isdst != FALSE) {
error(_("internal error - addtype called with bad isdst"));
@@ -2239,7 +2239,7 @@ addtype(const long gmtoff, const char *const abbr, const int isdst,
static void
leapadd(const zic_t t, const int positive, const int rolling, int count)
{
- register int i, j;
+ int i, j;
if (leapcnt + (positive ? count : 1) > TZ_MAX_LEAPS) {
error(_("too many leap seconds"));
@@ -2269,8 +2269,8 @@ leapadd(const zic_t t, const int positive, const int rolling, int count)
static void
adjleap(void)
{
- register int i;
- register long last = 0;
+ int i;
+ long last = 0;
/*
** propagate leap seconds forward
@@ -2314,7 +2314,7 @@ lowerit(int a)
/* case-insensitive equality */
static ATTRIBUTE_PURE int
-ciequal(register const char *ap, register const char *bp)
+ciequal(const char *ap, const char *bp)
{
while (lowerit(*ap) == lowerit(*bp++))
if (*ap++ == '\0')
@@ -2323,7 +2323,7 @@ ciequal(register const char *ap, register const char *bp)
}
static ATTRIBUTE_PURE int
-itsabbr(register const char *abbr, register const char *word)
+itsabbr(const char *abbr, const char *word)
{
if (lowerit(*abbr) != lowerit(*word))
return FALSE;
@@ -2337,11 +2337,11 @@ itsabbr(register const char *abbr, register const char *word)
}
static ATTRIBUTE_PURE const struct lookup *
-byword(register const char *const word,
- register const struct lookup *const table)
+byword(const char *const word,
+ const struct lookup *const table)
{
- register const struct lookup * foundlp;
- register const struct lookup * lp;
+ const struct lookup * foundlp;
+ const struct lookup * lp;
if (word == NULL || table == NULL)
return NULL;
@@ -2365,11 +2365,11 @@ byword(register const char *const word,
}
static char **
-getfields(register char *cp)
+getfields(char *cp)
{
- register char * dp;
- register char ** array;
- register int nsubs;
+ char * dp;
+ char ** array;
+ int nsubs;
if (cp == NULL)
return NULL;
@@ -2434,11 +2434,11 @@ tadd(const zic_t t1, const long t2)
*/
static zic_t
-rpytime(register const struct rule *const rp, register const int wantedy)
+rpytime(const struct rule *const rp, const int wantedy)
{
- register int y, m, i;
- register long dayoff; /* with a nod to Margaret O. */
- register zic_t t;
+ int y, m, i;
+ long dayoff; /* with a nod to Margaret O. */
+ zic_t t;
if (wantedy == INT_MIN)
return min_time;
@@ -2474,7 +2474,7 @@ rpytime(register const struct rule *const rp, register const int wantedy)
--i;
dayoff = oadd(dayoff, eitol(i));
if (rp->r_dycode == DC_DOWGEQ || rp->r_dycode == DC_DOWLEQ) {
- register long wday;
+ long wday;
#define LDAYSPERWEEK ((long) DAYSPERWEEK)
wday = eitol(EPOCH_WDAY);
@@ -2517,11 +2517,11 @@ will not work with pre-2004 versions of zic"));
static void
newabbr(const char *const string)
{
- register int i;
+ int i;
if (strcmp(string, GRANDPARENTED) != 0) {
- register const char * cp;
- const char * mp;
+ const char * cp;
+ const char * mp;
/*
** Want one to ZIC_MAX_ABBR_LEN_WO_WARN alphabetics
@@ -2569,8 +2569,8 @@ mp = _("time zone abbreviation differs from POSIX standard");
static int
mkdirs(char *argname)
{
- register char * name;
- register char * cp;
+ char * name;
+ char * cp;
if (argname == NULL || *argname == '\0')
return 0;
--
1.7.9.5
More information about the tz
mailing list