int sec, usec;
double duration = extract_float (seconds);
- sec = (int) duration;
- usec = (duration - sec) * 1000000;
+ if (0 < duration)
+ duration_to_sec_usec (duration, &sec, &usec);
+ else
+ sec = usec = 0;
+
EMACS_GET_TIME (end_time);
EMACS_SET_SECS_USECS (wait_time, sec, usec);
EMACS_ADD_TIME (end_time, end_time, wait_time);