Commits (1)
  • Rob Swindell's avatar
    Timed event "month days" value of 1 means "any day" (same as 0) · 9d359582
    Rob Swindell authored
    This field should not normally have a value of '1' (no way to configure that, normally, since days are numbered starting at 1 and bit 1 is 2), but if it does, it's treated the same as 0 (any day of the month) - so fix that mismatch in getnexteventtime(). Just noticed this while comparing the logic with the new is_time_to_run() functions in main.cpp. That logic wasn't (should not have) changed, so this mismatch in the treatment of mdays == 1 existed before.
    9d359582
......@@ -129,7 +129,7 @@ extern "C" time_t getnexteventtime(event_t* event)
if(localtime_r(&t, &tm) == NULL)
return 0;
if((event->days & (1 << tm.tm_wday))
&& (event->mdays == 0 || (event->mdays & (1 << tm.tm_mday)))
&& (event->mdays <= 1 || (event->mdays & (1 << tm.tm_mday)))
&& (event->months == 0 || (event->months & (1 << tm.tm_mon))))
break;
t += 24 * 60 * 60;
......