[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 12/13] block: use GDateTime for formatting timestamp when dumping
From: |
Daniel P . Berrangé |
Subject: |
[PULL 12/13] block: use GDateTime for formatting timestamp when dumping snapshot info |
Date: |
Mon, 14 Jun 2021 15:15:48 +0100 |
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: Max Reitz <mreitz@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
---
block/qapi.c | 11 ++++-------
1 file changed, 4 insertions(+), 7 deletions(-)
diff --git a/block/qapi.c b/block/qapi.c
index dc69341bfe..cf557e3aea 100644
--- a/block/qapi.c
+++ b/block/qapi.c
@@ -663,10 +663,8 @@ BlockStatsList *qmp_query_blockstats(bool has_query_nodes,
void bdrv_snapshot_dump(QEMUSnapshotInfo *sn)
{
- char date_buf[128], clock_buf[128];
+ char clock_buf[128];
char icount_buf[128] = {0};
- struct tm tm;
- time_t ti;
int64_t secs;
char *sizing = NULL;
@@ -674,10 +672,9 @@ void bdrv_snapshot_dump(QEMUSnapshotInfo *sn)
qemu_printf("%-10s%-17s%8s%20s%13s%11s",
"ID", "TAG", "VM SIZE", "DATE", "VM CLOCK", "ICOUNT");
} else {
- ti = sn->date_sec;
- localtime_r(&ti, &tm);
- strftime(date_buf, sizeof(date_buf),
- "%Y-%m-%d %H:%M:%S", &tm);
+ g_autoptr(GDateTime) date =
g_date_time_new_from_unix_local(sn->date_sec);
+ g_autofree char *date_buf = g_date_time_format(date, "%Y-%m-%d
%H:%M:%S");
+
secs = sn->vm_clock_nsec / 1000000000;
snprintf(clock_buf, sizeof(clock_buf),
"%02d:%02d:%02d.%03d",
--
2.31.1
- [PULL 02/13] docs: document how to pass secret data to QEMU, (continued)
- [PULL 02/13] docs: document how to pass secret data to QEMU, Daniel P . Berrangé, 2021/06/14
- [PULL 03/13] docs: document usage of the authorization framework, Daniel P . Berrangé, 2021/06/14
- [PULL 04/13] docs: recommend SCRAM-SHA-256 SASL mech instead of SHA-1 variant, Daniel P . Berrangé, 2021/06/14
- [PULL 05/13] sasl: remove comment about obsolete kerberos versions, Daniel P . Berrangé, 2021/06/14
- [PULL 06/13] migration: add trace point when vm_stop_force_state fails, Daniel P . Berrangé, 2021/06/14
- [PULL 07/13] softmmu: add trace point when bdrv_flush_all fails, Daniel P . Berrangé, 2021/06/14
- [PULL 08/13] block: preserve errno from fdatasync failures, Daniel P . Berrangé, 2021/06/14
- [PULL 10/13] block: remove duplicate trace.h include, Daniel P . Berrangé, 2021/06/14
- [PULL 11/13] migration: use GDateTime for formatting timestamp in snapshot names, Daniel P . Berrangé, 2021/06/14
- [PULL 09/13] block: add trace point when fdatasync fails, Daniel P . Berrangé, 2021/06/14
- [PULL 12/13] block: use GDateTime for formatting timestamp when dumping snapshot info,
Daniel P . Berrangé <=
- [PULL 13/13] usb/dev-mtp: use GDateTime for formatting timestamp for objects, Daniel P . Berrangé, 2021/06/14
- Re: [PULL 00/13] Misc fixes patches, Peter Maydell, 2021/06/14