diff options
author | Eric Blake <eblake@redhat.com> | 2020-11-12 19:13:37 -0600 |
---|---|---|
committer | Markus Armbruster <armbru@redhat.com> | 2020-12-19 10:20:14 +0100 |
commit | 54aa3de72ea2aaa2e903e7e879a4f3dda515a00e (patch) | |
tree | 5f1041c336d7a5064f338179022901ab56d8b5d1 /ui | |
parent | eaedde5255842e8add96bec127567e2a8b3be9a8 (diff) |
qapi: Use QAPI_LIST_PREPEND() where possible
Anywhere we create a list of just one item or by prepending items
(typically because order doesn't matter), we can use
QAPI_LIST_PREPEND(). But places where we must keep the list in order
by appending remain open-coded until later patches.
Note that as a side effect, this also performs a cleanup of two minor
issues in qga/commands-posix.c: the old code was performing
new = g_malloc0(sizeof(*ret));
which 1) is confusing because you have to verify whether 'new' and
'ret' are variables with the same type, and 2) would conflict with C++
compilation (not an actual problem for this file, but makes
copy-and-paste harder).
Signed-off-by: Eric Blake <eblake@redhat.com>
Message-Id: <20201113011340.463563-5-eblake@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Acked-by: Stefan Hajnoczi <stefanha@redhat.com>
[Straightforward conflicts due to commit a8aa94b5f8 "qga: update
schema for guest-get-disks 'dependents' field" and commit a10b453a52
"target/mips: Move mips_cpu_add_definition() from helper.c to cpu.c"
resolved. Commit message tweaked.]
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Diffstat (limited to 'ui')
-rw-r--r-- | ui/input.c | 16 | ||||
-rw-r--r-- | ui/vnc.c | 21 |
2 files changed, 13 insertions, 24 deletions
diff --git a/ui/input.c b/ui/input.c index 4791b089c7..8ac407dec4 100644 --- a/ui/input.c +++ b/ui/input.c @@ -571,7 +571,7 @@ void qemu_remove_mouse_mode_change_notifier(Notifier *notify) MouseInfoList *qmp_query_mice(Error **errp) { MouseInfoList *mice_list = NULL; - MouseInfoList *info; + MouseInfo *info; QemuInputHandlerState *s; bool current = true; @@ -581,16 +581,14 @@ MouseInfoList *qmp_query_mice(Error **errp) continue; } - info = g_new0(MouseInfoList, 1); - info->value = g_new0(MouseInfo, 1); - info->value->index = s->id; - info->value->name = g_strdup(s->handler->name); - info->value->absolute = s->handler->mask & INPUT_EVENT_MASK_ABS; - info->value->current = current; + info = g_new0(MouseInfo, 1); + info->index = s->id; + info->name = g_strdup(s->handler->name); + info->absolute = s->handler->mask & INPUT_EVENT_MASK_ABS; + info->current = current; current = false; - info->next = mice_list; - mice_list = info; + QAPI_LIST_PREPEND(mice_list, info); } return mice_list; @@ -365,14 +365,11 @@ static VncDisplay *vnc_display_find(const char *id) static VncClientInfoList *qmp_query_client_list(VncDisplay *vd) { - VncClientInfoList *cinfo, *prev = NULL; + VncClientInfoList *prev = NULL; VncState *client; QTAILQ_FOREACH(client, &vd->clients, next) { - cinfo = g_new0(VncClientInfoList, 1); - cinfo->value = qmp_query_vnc_client(client); - cinfo->next = prev; - prev = cinfo; + QAPI_LIST_PREPEND(prev, qmp_query_vnc_client(client)); } return prev; } @@ -453,7 +450,6 @@ static VncServerInfo2List *qmp_query_server_entry(QIOChannelSocket *ioc, int subauth, VncServerInfo2List *prev) { - VncServerInfo2List *list; VncServerInfo2 *info; Error *err = NULL; SocketAddress *addr; @@ -476,10 +472,8 @@ static VncServerInfo2List *qmp_query_server_entry(QIOChannelSocket *ioc, qmp_query_auth(auth, subauth, &info->auth, &info->vencrypt, &info->has_vencrypt); - list = g_new0(VncServerInfo2List, 1); - list->value = info; - list->next = prev; - return list; + QAPI_LIST_PREPEND(prev, info); + return prev; } static void qmp_query_auth(int auth, int subauth, @@ -554,7 +548,7 @@ static void qmp_query_auth(int auth, int subauth, VncInfo2List *qmp_query_vnc_servers(Error **errp) { - VncInfo2List *item, *prev = NULL; + VncInfo2List *prev = NULL; VncInfo2 *info; VncDisplay *vd; DeviceState *dev; @@ -583,10 +577,7 @@ VncInfo2List *qmp_query_vnc_servers(Error **errp) vd->ws_subauth, info->server); } - item = g_new0(VncInfo2List, 1); - item->value = info; - item->next = prev; - prev = item; + QAPI_LIST_PREPEND(prev, info); } return prev; } |