Jim Meyering wrote: > tm.tm_mday += ((pc.day_number - tm.tm_wday + 7) % 7 > + + 7 * (pc.day_ordinal > + + (0 < pc.day_ordinal > + && tm.tm_wday == pc.day_number) > + - (0 < pc.day_ordinal)));
This can be simplified to tm.tm_mday += ((pc.day_number - tm.tm_wday + 7) % 7 + 7 * (pc.day_ordinal - (0 < pc.day_ordinal && tm.tm_wday != pc.day_number))); Bruno