diff options
Diffstat (limited to 'degesch.c')
| -rw-r--r-- | degesch.c | 14 | 
1 files changed, 11 insertions, 3 deletions
| @@ -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);  } | 
