mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-03 15:53:54 -06:00
qapi: More complex uses of QAPI_LIST_APPEND
These cases require a bit more thought to review; in each case, the code was appending to a list, but not with a FOOList **tail variable. Signed-off-by: Eric Blake <eblake@redhat.com> Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com> Message-Id: <20210113221013.390592-6-eblake@redhat.com> Reviewed-by: Markus Armbruster <armbru@redhat.com> [Flawed change to qmp_guest_network_get_interfaces() dropped] Signed-off-by: Markus Armbruster <armbru@redhat.com>
This commit is contained in:
parent
c3033fd372
commit
95b3a8c8a8
13 changed files with 141 additions and 303 deletions
13
net/net.c
13
net/net.c
|
@ -1213,10 +1213,9 @@ RxFilterInfoList *qmp_query_rx_filter(bool has_name, const char *name,
|
|||
Error **errp)
|
||||
{
|
||||
NetClientState *nc;
|
||||
RxFilterInfoList *filter_list = NULL, *last_entry = NULL;
|
||||
RxFilterInfoList *filter_list = NULL, **tail = &filter_list;
|
||||
|
||||
QTAILQ_FOREACH(nc, &net_clients, next) {
|
||||
RxFilterInfoList *entry;
|
||||
RxFilterInfo *info;
|
||||
|
||||
if (has_name && strcmp(nc->name, name) != 0) {
|
||||
|
@ -1241,15 +1240,7 @@ RxFilterInfoList *qmp_query_rx_filter(bool has_name, const char *name,
|
|||
|
||||
if (nc->info->query_rx_filter) {
|
||||
info = nc->info->query_rx_filter(nc);
|
||||
entry = g_malloc0(sizeof(*entry));
|
||||
entry->value = info;
|
||||
|
||||
if (!filter_list) {
|
||||
filter_list = entry;
|
||||
} else {
|
||||
last_entry->next = entry;
|
||||
}
|
||||
last_entry = entry;
|
||||
QAPI_LIST_APPEND(tail, info);
|
||||
} else if (has_name) {
|
||||
error_setg(errp, "net client(%s) doesn't support"
|
||||
" rx-filter querying", name);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue