degesch: finally fix rearm_date_change_timer()
This commit is contained in:
parent
6f966d4aee
commit
880a8ef080
14
degesch.c
14
degesch.c
|
@ -9111,10 +9111,18 @@ on_flush_timer (struct app_context *ctx)
|
|||
static void
|
||||
rearm_date_change_timer (struct app_context *ctx)
|
||||
{
|
||||
const time_t seconds_per_day = 60 * 60 * 12;
|
||||
struct tm tm_;
|
||||
const time_t now = time (NULL);
|
||||
const time_t midnight = (now + seconds_per_day - 1)
|
||||
/ seconds_per_day * seconds_per_day;
|
||||
if (!soft_assert (localtime_r (&now, &tm_)))
|
||||
return;
|
||||
|
||||
tm_.tm_sec = tm_.tm_min = tm_.tm_hour = 0;
|
||||
tm_.tm_mday++;
|
||||
tm_.tm_isdst = -1;
|
||||
|
||||
const time_t midnight = mktime (&tm_);
|
||||
if (!soft_assert (midnight != (time_t) -1))
|
||||
return;
|
||||
poller_timer_set (&ctx->date_chg_tmr, (midnight - now) * 1000);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue