mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-04 00:03:54 -06:00
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 commita8aa94b5f8
"qga: update schema for guest-get-disks 'dependents' field" and commita10b453a52
"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>
This commit is contained in:
parent
eaedde5255
commit
54aa3de72e
32 changed files with 158 additions and 421 deletions
21
ui/vnc.c
21
ui/vnc.c
|
@ -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;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue