Support fractional-second intervals on recurring timers

A fractional-second timeout was already supported for the initial timeout of a /TIMER, but
if the timer was recurring then the interval was rounded to a whole number of seconds for
the subsequent timeouts.

Change the type of interval from long to double to fix this.
This commit is contained in:
Kevin Easton
2017-10-11 23:21:14 +11:00
parent bbd18ba47e
commit 5839f2b393
3 changed files with 5 additions and 3 deletions

View File

@@ -421,8 +421,8 @@ char *function_timer(char *n, char *args)
if (time_left < 0)
time_left = 0.0;
return m_sprintf("%s %d %d %ld %d %0.3f %s%s", t->ref, t->server,
t->window, (long)t->interval, t->events, time_left,
return m_sprintf("%s %d %d %.16g %d %0.3f %s%s", t->ref, t->server,
t->window, t->interval, t->events, time_left,
t->callback ? "(internal callback) " : t->command,
t->whom ? t->whom : "");
}