Commit 9d359582 authored by Rob Swindell's avatar Rob Swindell 💬
Browse files

Timed event "month days" value of 1 means "any day" (same as 0)

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.
parent b269b65a
Pipeline #2758 passed with stage
in 9 minutes and 34 seconds
......@@ -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;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment