[Virtio-fs] [PATCH 4/7] usb/dev-mtp: use GDateTime for formatting timestamp for objects
Daniel P. Berrangé
berrange at redhat.com
Wed May 5 10:36:59 UTC 2021
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é <berrange at redhat.com>
---
hw/usb/dev-mtp.c | 9 +++------
1 file changed, 3 insertions(+), 6 deletions(-)
diff --git a/hw/usb/dev-mtp.c b/hw/usb/dev-mtp.c
index bbb8274344..a71fcc326d 100644
--- a/hw/usb/dev-mtp.c
+++ b/hw/usb/dev-mtp.c
@@ -772,12 +772,9 @@ static void usb_mtp_add_str(MTPData *data, const char *str)
static void usb_mtp_add_time(MTPData *data, time_t time)
{
- char buf[16];
- struct tm tm;
-
- gmtime_r(&time, &tm);
- strftime(buf, sizeof(buf), "%Y%m%dT%H%M%S", &tm);
- usb_mtp_add_str(data, buf);
+ g_autoptr(GDateTime) then = g_date_time_new_from_unix_utc(time);
+ g_autofree char *thenstr = g_date_time_format(then, "%Y%m%dT%H%M%S");
+ usb_mtp_add_str(data, thenstr);
}
/* ----------------------------------------------------------------------- */
--
2.31.1
More information about the Virtio-fs
mailing list