mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-07-26 11:53:53 -06:00
hw/xen: Use xs_node_read() from xs_node_vscanf()
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>
This commit is contained in:
parent
7a0b74d871
commit
76f26e46ac
2 changed files with 6 additions and 10 deletions
|
@ -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"
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue