mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-02 15:23:53 -06:00
char: Convert to new qapi union layout
We have two issues with our qapi union layout: 1) Even though the QMP wire format spells the tag 'type', the C code spells it 'kind', requiring some hacks in the generator. 2) The C struct uses an anonymous union, which places all tag values in the same namespace as all non-variant members. This leads to spurious collisions if a tag value matches a non-variant member's name. Make the conversion to the new layout for character-related code. Signed-off-by: Eric Blake <eblake@redhat.com> Message-Id: <1445898903-12082-19-git-send-email-eblake@redhat.com> [Commit message tweaked slightly] Signed-off-by: Markus Armbruster <armbru@redhat.com>
This commit is contained in:
parent
8d0bcba837
commit
130257dc44
2 changed files with 88 additions and 88 deletions
|
@ -301,7 +301,7 @@ static CharDriverState *qemu_chr_open_spice_vmc(const char *id,
|
|||
ChardevReturn *ret,
|
||||
Error **errp)
|
||||
{
|
||||
const char *type = backend->spicevmc->type;
|
||||
const char *type = backend->u.spicevmc->type;
|
||||
const char **psubtype = spice_server_char_device_recognized_subtypes();
|
||||
|
||||
for (; *psubtype != NULL; ++psubtype) {
|
||||
|
@ -324,7 +324,7 @@ static CharDriverState *qemu_chr_open_spice_port(const char *id,
|
|||
ChardevReturn *ret,
|
||||
Error **errp)
|
||||
{
|
||||
const char *name = backend->spiceport->fqdn;
|
||||
const char *name = backend->u.spiceport->fqdn;
|
||||
CharDriverState *chr;
|
||||
SpiceCharDriver *s;
|
||||
|
||||
|
@ -362,8 +362,8 @@ static void qemu_chr_parse_spice_vmc(QemuOpts *opts, ChardevBackend *backend,
|
|||
error_setg(errp, "chardev: spice channel: no name given");
|
||||
return;
|
||||
}
|
||||
backend->spicevmc = g_new0(ChardevSpiceChannel, 1);
|
||||
backend->spicevmc->type = g_strdup(name);
|
||||
backend->u.spicevmc = g_new0(ChardevSpiceChannel, 1);
|
||||
backend->u.spicevmc->type = g_strdup(name);
|
||||
}
|
||||
|
||||
static void qemu_chr_parse_spice_port(QemuOpts *opts, ChardevBackend *backend,
|
||||
|
@ -375,8 +375,8 @@ static void qemu_chr_parse_spice_port(QemuOpts *opts, ChardevBackend *backend,
|
|||
error_setg(errp, "chardev: spice port: no name given");
|
||||
return;
|
||||
}
|
||||
backend->spiceport = g_new0(ChardevSpicePort, 1);
|
||||
backend->spiceport->fqdn = g_strdup(name);
|
||||
backend->u.spiceport = g_new0(ChardevSpicePort, 1);
|
||||
backend->u.spiceport->fqdn = g_strdup(name);
|
||||
}
|
||||
|
||||
static void register_types(void)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue