mirror of
https://frontier.innolan.net/rainlance/amiga-tz.git
synced 2026-10-05 11:09:57 +00:00
watch out for month overflow
SCCS-file: zic.c SCCS-SID: 2.29
This commit is contained in:
committed by
Paul Eggert
parent
303e209ab1
commit
f46a98402b
@@ -1388,11 +1388,20 @@ register long wantedy;
|
|||||||
wday += 7;
|
wday += 7;
|
||||||
}
|
}
|
||||||
while (wday != rp->r_wday) {
|
while (wday != rp->r_wday) {
|
||||||
if (rp->r_dycode == DC_DOWGEQ)
|
if (rp->r_dycode == DC_DOWGEQ) {
|
||||||
i = 1;
|
dayoff = tadd(dayoff, (long) 1);
|
||||||
else i = -1;
|
++wday;
|
||||||
dayoff = tadd(dayoff, i);
|
++i;
|
||||||
wday = (wday + i + 7) % 7;
|
} else {
|
||||||
|
dayoff = tadd(dayoff, (long) -1);
|
||||||
|
--wday;
|
||||||
|
--i;
|
||||||
|
}
|
||||||
|
wday = (wday + 7) % 7;
|
||||||
|
}
|
||||||
|
if (i < 0 || i >= mon_lengths[isleap(y)][m]) {
|
||||||
|
error("no day in month matches rule");
|
||||||
|
exit(1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
t = dayoff * SECS_PER_DAY;
|
t = dayoff * SECS_PER_DAY;
|
||||||
|
|||||||
Reference in New Issue
Block a user