summary refs log tree commit diff stats
path: root/hmp.c
diff options
context:
space:
mode:
authorEric Blake <eblake@redhat.com>2015-10-26 16:34:58 -0600
committerMarkus Armbruster <armbru@redhat.com>2015-11-02 08:30:28 +0100
commit568c73a4783cd981e9aa6de4f15dcda7829643ad (patch)
treef376af2edf7fea37fcc10c6bcaba16ce4daa4770 /hmp.c
parent130257dc443574a9da91dc293665be2cfc40245a (diff)
downloadfocaccia-qemu-568c73a4783cd981e9aa6de4f15dcda7829643ad.tar.gz
focaccia-qemu-568c73a4783cd981e9aa6de4f15dcda7829643ad.zip
input: 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 input-related code.

Signed-off-by: Eric Blake <eblake@redhat.com>
Message-Id: <1445898903-12082-20-git-send-email-eblake@redhat.com>
[Commit message tweaked slightly]
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Diffstat (limited to 'hmp.c')
-rw-r--r--hmp.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/hmp.c b/hmp.c
index 88fd804a9e..cc4946d6ee 100644
--- a/hmp.c
+++ b/hmp.c
@@ -1735,15 +1735,15 @@ void hmp_sendkey(Monitor *mon, const QDict *qdict)
             if (*endp != '\0') {
                 goto err_out;
             }
-            keylist->value->kind = KEY_VALUE_KIND_NUMBER;
-            keylist->value->number = value;
+            keylist->value->type = KEY_VALUE_KIND_NUMBER;
+            keylist->value->u.number = value;
         } else {
             int idx = index_from_key(keyname_buf);
             if (idx == Q_KEY_CODE_MAX) {
                 goto err_out;
             }
-            keylist->value->kind = KEY_VALUE_KIND_QCODE;
-            keylist->value->qcode = idx;
+            keylist->value->type = KEY_VALUE_KIND_QCODE;
+            keylist->value->u.qcode = idx;
         }
 
         if (!separator) {