On Thu, 2025-01-09 at 11:59 +0100, Anthony PERARD wrote: > > > char label[32]; > > XenDevice *xendev = NULL; > > XenConsole *con; > > @@ -550,7 +551,10 @@ static void > > xen_console_device_create(XenBackendInstance *backend, > > goto fail; > > } > > > > - if (xs_node_scanf(xsh, XBT_NULL, fe, "type", errp, "%ms", &type) != 1) > > { > > + node_path = g_strdup_printf("%s/type", fe); > > + type = qemu_xen_xs_read(xsh, XBT_NULL, node_path, NULL); > > + g_free(node_path); > > I feel like we want "xs_node_read()" which would be similair to > xs_node_vscanf() but would simply return the result of > qemu_xen_xs_read(). This would avoid the need format of the node path in > several place in the code. But it's OK like that as well.
If you look at the other callers of qemu_xen_xs_read(), it looks like the majority of them create the path with snprintf and then pass it in. Or with g_strdup_printf(), pass it in, then free it afterwards. So perhaps qemu_xen_xs_read() should be a printf-style function too, with its last arg(s) being the node name.
smime.p7s
Description: S/MIME cryptographic signature