diff options
author | grog <grog@FreeBSD.org> | 2006-05-31 01:30:50 +0000 |
---|---|---|
committer | grog <grog@FreeBSD.org> | 2006-05-31 01:30:50 +0000 |
commit | 3a3622dbf743fe9e91c425e56032a791596bcd48 (patch) | |
tree | 95cd22fa84094649b7233f1381a1fa9a37851343 /usr.bin | |
parent | 51170c3bdd3b311f424fab72ee713db7fa6162c3 (diff) | |
download | FreeBSD-src-3a3622dbf743fe9e91c425e56032a791596bcd48.zip FreeBSD-src-3a3622dbf743fe9e91c425e56032a791596bcd48.tar.gz |
Correct previous commit. We don't want to suppress an entry because
it runs into the following month. Instead adjust month and day,
wrapping round into next year where necessary.
MFC after: 14 days
Diffstat (limited to 'usr.bin')
-rw-r--r-- | usr.bin/calendar/day.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/usr.bin/calendar/day.c b/usr.bin/calendar/day.c index 8c90d5c..14bc2e7 100644 --- a/usr.bin/calendar/day.c +++ b/usr.bin/calendar/day.c @@ -361,6 +361,11 @@ isnow(endp, monthp, dayp, varp) } if (!(flags & F_EASTER)) { + if (day + cumdays[month] > cumdays[month + 1]) { /* off end of month */ + day -= (cumdays[month + 1] - cumdays[month]); /* adjust */ + if (++month > 12) /* next year */ + month = 1; + } *monthp = month; *dayp = day; day = cumdays[month] + day; @@ -376,9 +381,6 @@ isnow(endp, monthp, dayp, varp) #ifdef DEBUG fprintf(stderr, "day2: day %d(%d-%d) yday %d\n", *dayp, day, cumdays[month], tp->tm_yday); #endif - if (day > cumdays [month + 1]) /* off end of month */ - return (0); - /* if today or today + offset days */ if (day >= tp->tm_yday - f_dayBefore && day <= tp->tm_yday + offset + f_dayAfter) |