next_ge
tm_mon = next_ge(tm->tm_mon + 1, e->of.ct.month) - 1; /* 0-11 */
tm_mday = next_ge(tm->tm_mday, e->of.ct.daymon); /* 1-31 */
tm_wday = next_ge(tm->tm_wday, e->of.ct.dayweek); /* 0-6 */
if ((tm->tm_hour + 1) <= next_ge(tm->tm_hour, e->of.ct.hour)) {
min = next_ge(m%60, e->of.ct.minute);
hr = next_ge(h%24, e->of.ct.hour);
min = next_ge(0, e->of.ct.minute);
hr = next_ge(0, e->of.ct.hour);
day1 = next_ge((d1-1)%days_in_mon(tm->tm_mon, tm->tm_year) + 1,
wday = next_ge(d2%7, e->of.ct.dayweek);
mon = next_ge(m%12 + 1, e->of.ct.month) - 1; /* 0..11 */
day1 = next_ge(1, e->of.ct.daymon);
wday = next_ge(wd, e->of.ct.dayweek);
mon == (next_ge((mon + 1)%12 + 1,
day <= next_ge(1, e->of.ct.daymon)) {
static int next_ge(int, char *);