ping: anyone willing to give a review of this one On Wed, May 05, 2021 at 11:36:58AM +0100, Daniel P. Berrangé wrote: > 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. > > Signed-off-by: Daniel P. Berrangé <berra...@redhat.com> > --- > hw/net/rocker/rocker.h | 11 +++-------- > 1 file changed, 3 insertions(+), 8 deletions(-) > > diff --git a/hw/net/rocker/rocker.h b/hw/net/rocker/rocker.h > index 941c932265..412fa44d01 100644 > --- a/hw/net/rocker/rocker.h > +++ b/hw/net/rocker/rocker.h > @@ -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, ...) > -- > 2.31.1 >
Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|