mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-02 23:33:54 -06:00
qga: Flatten simple union GuestDeviceId
Simple unions are simpler than flat unions in the schema, but more complicated in C and on the QMP wire: there's extra indirection in C and extra nesting on the wire, both pointless. They should be avoided in new code. GuestDeviceId was recently added for guest-get-devices. Convert it to a flat union. Signed-off-by: Markus Armbruster <armbru@redhat.com> Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Signed-off-by: Michael Roth <michael.roth@amd.com>
This commit is contained in:
parent
939caddc2c
commit
0083124b3a
2 changed files with 12 additions and 5 deletions
|
@ -2400,16 +2400,15 @@ GuestDeviceInfoList *qmp_guest_get_devices(Error **errp)
|
|||
}
|
||||
skip = false;
|
||||
|
||||
id = g_new0(GuestDeviceIdPCI, 1);
|
||||
vendor_id = g_match_info_fetch(match_info, 1);
|
||||
device_id = g_match_info_fetch(match_info, 2);
|
||||
id->vendor_id = g_ascii_strtoull(vendor_id, NULL, 16);
|
||||
id->device_id = g_ascii_strtoull(device_id, NULL, 16);
|
||||
|
||||
device->id = g_new0(GuestDeviceId, 1);
|
||||
device->has_id = true;
|
||||
device->id->type = GUEST_DEVICE_ID_KIND_PCI;
|
||||
device->id->u.pci.data = id;
|
||||
device->id->type = GUEST_DEVICE_TYPE_PCI;
|
||||
id = &device->id->u.pci;
|
||||
id->vendor_id = g_ascii_strtoull(vendor_id, NULL, 16);
|
||||
id->device_id = g_ascii_strtoull(device_id, NULL, 16);
|
||||
|
||||
g_match_info_free(match_info);
|
||||
break;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue