threads / discuss / 37023

trace.c: struct timeval tv not portable

Subject: trace.c: struct timeval tv not portable

## tl;dr

One message between Jun 29, 2014 and Jun 29, 2014.

replies: 0people: 1as markdown or json

Torsten Bögershausen· Jun 29, 2014, 06:53 UTC · lore
The following printout gives a warning:
(trace.c, arounf line 105)
	strbuf_addf(buf, "%02d:%02d:%02d.%06ld ", tm.tm_hour, tm.tm_min,
		    tm.tm_sec, tv.tv_usec);
trace.c:105: warning: format ‘%06ld’ expects type ‘long int’, but argument 6 has type ‘__darwin_suseconds_t’
A format string of  "%06ld" for is not always good for tv.tv_usec
http://pubs.opengroup.org/onlinepubs/009695399/basedefs/sys/time.h.html
A better solution would be:
	strbuf_addf(buf, "%02d:%02d:%02d.%06ld ", tm.tm_hour, tm.tm_min,
		    tm.tm_sec, (long int)tv.tv_usec);

← back to recent threads