net/rocker: use GDateTime for formatting timestamp in debug messages

The GDateTime APIs provided by GLib avoid portability pitfalls, such
as some platforms where 'struct timeval.tv_sec' field is still 'long'
instead of 'time_t'. When combined with automatic cleanup, GDateTime
often results in simpler code too.

Reviewed-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
master
Daniel P. Berrangé 2021-04-30 12:59:06 +01:00
parent 8bd0931f63
commit 96916f36c4
1 changed files with 3 additions and 8 deletions

View File

@ -25,14 +25,9 @@
#if defined(DEBUG_ROCKER)
# define DPRINTF(fmt, ...) \
do { \
struct timeval tv; \
char timestr[64]; \
time_t now; \
gettimeofday(&tv, NULL); \
now = tv.tv_sec; \
strftime(timestr, sizeof(timestr), "%T", localtime(&now)); \
fprintf(stderr, "%s.%06ld ", timestr, tv.tv_usec); \
fprintf(stderr, "ROCKER: " fmt, ## __VA_ARGS__); \
g_autoptr(GDateTime) now = g_date_time_new_now_local(); \
g_autofree char *nowstr = g_date_time_format(now, "%T.%f");\
fprintf(stderr, "%s ROCKER: " fmt, nowstr, ## __VA_ARGS__);\
} while (0)
#else
static inline GCC_FMT_ATTR(1, 2) int DPRINTF(const char *fmt, ...)