[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v3 3/7] hw/xen: Use xs_node_read() from xs_node_vscanf()
From: |
David Woodhouse |
Subject: |
[PATCH v3 3/7] hw/xen: Use xs_node_read() from xs_node_vscanf() |
Date: |
Wed, 15 Jan 2025 16:27:21 +0000 |
From: David Woodhouse <dwmw@amazon.co.uk>
Reduce some duplication.
Signed-off-by: David Woodhouse <dwmw@amazon.co.uk>
Reviewed-by: Anthony PERARD <anthony.perard@vates.tech>
Acked-by: Roger Pau Monné <roger.pau@citrix.com>
---
hw/xen/trace-events | 1 -
hw/xen/xen-bus-helper.c | 15 ++++++---------
2 files changed, 6 insertions(+), 10 deletions(-)
diff --git a/hw/xen/trace-events b/hw/xen/trace-events
index 461dee7b23..b67942d07b 100644
--- a/hw/xen/trace-events
+++ b/hw/xen/trace-events
@@ -38,7 +38,6 @@ xen_device_remove_watch(const char *type, char *name, const
char *node, const ch
xs_node_create(const char *node) "%s"
xs_node_destroy(const char *node) "%s"
xs_node_vprintf(char *path, char *value) "%s %s"
-xs_node_vscanf(char *path, char *value) "%s %s"
xs_node_read(const char *path, const char *value) "%s %s"
xs_node_watch(char *path) "%s"
xs_node_unwatch(char *path) "%s"
diff --git a/hw/xen/xen-bus-helper.c b/hw/xen/xen-bus-helper.c
index 22fd2f6c1a..288fad422b 100644
--- a/hw/xen/xen-bus-helper.c
+++ b/hw/xen/xen-bus-helper.c
@@ -105,25 +105,22 @@ int xs_node_vscanf(struct qemu_xs_handle *h,
xs_transaction_t tid,
const char *node, const char *key, Error **errp,
const char *fmt, va_list ap)
{
- char *path, *value;
+ char *value;
int rc;
- path = (strlen(node) != 0) ? g_strdup_printf("%s/%s", node, key) :
- g_strdup(key);
- value = qemu_xen_xs_read(h, tid, path, NULL);
-
- trace_xs_node_vscanf(path, value);
+ if (node && strlen(node) != 0) {
+ value = xs_node_read(h, tid, NULL, errp, "%s/%s", node, key);
+ } else {
+ value = xs_node_read(h, tid, NULL, errp, "%s", key);
+ }
if (value) {
rc = vsscanf(value, fmt, ap);
} else {
- error_setg_errno(errp, errno, "failed to read from '%s'",
- path);
rc = EOF;
}
free(value);
- g_free(path);
return rc;
}
--
2.47.0
- [PATCH v3 1/7] xen: error handling and FreeBSD compatibility fixes, David Woodhouse, 2025/01/15
- [PATCH v3 5/7] hw/xen: Use xs_node_read() from xen_netdev_get_name(), David Woodhouse, 2025/01/15
- [PATCH v3 1/7] hw/xen: Add xs_node_read() helper function, David Woodhouse, 2025/01/15
- [PATCH v3 2/7] xen: do not use '%ms' scanf specifier, David Woodhouse, 2025/01/15
- [PATCH v3 7/7] hw/xen: Fix errp handling in xen_console, David Woodhouse, 2025/01/15
- [PATCH v3 3/7] hw/xen: Use xs_node_read() from xs_node_vscanf(),
David Woodhouse <=
- [PATCH v3 4/7] hw/xen: Use xs_node_read() from xen_console_get_name(), David Woodhouse, 2025/01/15
- [PATCH v3 6/7] hw/xen: Use xs_node_read() from xenstore_read_str() instead of open-coding it, David Woodhouse, 2025/01/15