{
int rc = 0;
char nl;
-
+ int64_t sec = 0, usec = 0;
switch (type) {
case 'O': /* output */
case 'I': /* input */
- rc = fscanf(f, "%ld.%06ld %zu%c\n",
- &step->delay.tv_sec,
- &step->delay.tv_usec,
- &step->size, &nl);
+ rc = fscanf(f, "%"SCNd64".%06"SCNd64" %zu%c\n",
+ &sec, &usec, &step->size, &nl);
if (rc != 4 || nl != '\n')
rc = -EINVAL;
else
rc = 0;
+
+ step->delay.tv_sec = (time_t) sec;
+ step->delay.tv_usec = (suseconds_t) usec;
break;
case 'S': /* signal */
{
char buf[BUFSIZ];
- rc = fscanf(f, "%ld.%06ld ",
- &step->delay.tv_sec,
- &step->delay.tv_usec);
-
+ rc = fscanf(f, "%"SCNd64".%06"SCNd64" ",
+ &sec, &usec);
if (rc != 2)
break;
+ step->delay.tv_sec = (time_t) sec;
+ step->delay.tv_usec = (suseconds_t) usec;
+
rc = fscanf(f, "%128s", buf); /* name */
if (rc != 1)
break;
} else
DBG(TIMING, ul_debug(" not found log for '%c' stream", step->type));
- DBG(TIMING, ul_debug(" ignore step '%c' [delay=%ld.%06ld]",
- step->type,
- step->delay.tv_sec,
- step->delay.tv_usec));
+ DBG(TIMING, ul_debug(" ignore step '%c' [delay=%"PRId64".%06"PRId64"]",
+ step->type,
+ (int64_t) step->delay.tv_sec,
+ (int64_t) step->delay.tv_usec));
timerinc(&ignored_delay, &step->delay);
} while (rc == 0);
if (timerisset(&ignored_delay))
timerinc(&step->delay, &ignored_delay);
- DBG(TIMING, ul_debug("reading next step done [rc=%d delay=%ld.%06ld (ignored=%ld.%06ld) size=%zu]",
- rc,
- step->delay.tv_sec, step->delay.tv_usec,
- ignored_delay.tv_sec, ignored_delay.tv_usec,
- step->size));
+ DBG(TIMING, ul_debug("reading next step done [rc=%d delay=%"PRId64".%06"PRId64
+ "(ignored=%"PRId64".%06"PRId64") size=%zu]",
+ rc,
+ (int64_t) step->delay.tv_sec, (int64_t) step->delay.tv_usec,
+ (int64_t) ignored_delay.tv_sec, (int64_t) ignored_delay.tv_usec,
+ step->size));
/* normalize delay */
if (stp->delay_div) {
ts.tv_sec = (time_t) delay->tv_sec;
ts.tv_nsec = delay->tv_usec * 1000;
- DBG(TIMING, ul_debug("going to sleep for %ld.%06ld",
- delay->tv_sec,
- delay->tv_usec));
+ DBG(TIMING, ul_debug("going to sleep for %"PRId64".%06"PRId64,
+ (int64_t) delay->tv_sec, (int64_t) delay->tv_usec));
while (-1 == nanosleep(&ts, &remainder)) {
if (EINTR == errno)