mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-01 23:03:54 -06:00
qapi: Use QAPI_LIST_APPEND in trivial cases
The easiest spots to use QAPI_LIST_APPEND are where we already have an obvious pointer to the tail of a list. While at it, consistently use the variable name 'tail' for that purpose. Signed-off-by: Eric Blake <eblake@redhat.com> Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com> Reviewed-by: Markus Armbruster <armbru@redhat.com> Message-Id: <20210113221013.390592-5-eblake@redhat.com> Signed-off-by: Markus Armbruster <armbru@redhat.com>
This commit is contained in:
parent
dc13f40c6b
commit
c3033fd372
20 changed files with 96 additions and 222 deletions
|
@ -2474,18 +2474,17 @@ static void transfer_vcpu(GuestLogicalProcessor *vcpu, bool sys2vcpu,
|
|||
GuestLogicalProcessorList *qmp_guest_get_vcpus(Error **errp)
|
||||
{
|
||||
int64_t current;
|
||||
GuestLogicalProcessorList *head, **link;
|
||||
GuestLogicalProcessorList *head, **tail;
|
||||
long sc_max;
|
||||
Error *local_err = NULL;
|
||||
|
||||
current = 0;
|
||||
head = NULL;
|
||||
link = &head;
|
||||
tail = &head;
|
||||
sc_max = SYSCONF_EXACT(_SC_NPROCESSORS_CONF, &local_err);
|
||||
|
||||
while (local_err == NULL && current < sc_max) {
|
||||
GuestLogicalProcessor *vcpu;
|
||||
GuestLogicalProcessorList *entry;
|
||||
int64_t id = current++;
|
||||
char *path = g_strdup_printf("/sys/devices/system/cpu/cpu%" PRId64 "/",
|
||||
id);
|
||||
|
@ -2495,10 +2494,7 @@ GuestLogicalProcessorList *qmp_guest_get_vcpus(Error **errp)
|
|||
vcpu->logical_id = id;
|
||||
vcpu->has_can_offline = true; /* lolspeak ftw */
|
||||
transfer_vcpu(vcpu, true, path, &local_err);
|
||||
entry = g_malloc0(sizeof *entry);
|
||||
entry->value = vcpu;
|
||||
*link = entry;
|
||||
link = &entry->next;
|
||||
QAPI_LIST_APPEND(tail, vcpu);
|
||||
}
|
||||
g_free(path);
|
||||
}
|
||||
|
@ -2831,13 +2827,13 @@ out1:
|
|||
|
||||
GuestMemoryBlockList *qmp_guest_get_memory_blocks(Error **errp)
|
||||
{
|
||||
GuestMemoryBlockList *head, **link;
|
||||
GuestMemoryBlockList *head, **tail;
|
||||
Error *local_err = NULL;
|
||||
struct dirent *de;
|
||||
DIR *dp;
|
||||
|
||||
head = NULL;
|
||||
link = &head;
|
||||
tail = &head;
|
||||
|
||||
dp = opendir("/sys/devices/system/memory/");
|
||||
if (!dp) {
|
||||
|
@ -2859,7 +2855,6 @@ GuestMemoryBlockList *qmp_guest_get_memory_blocks(Error **errp)
|
|||
*/
|
||||
while ((de = readdir(dp)) != NULL) {
|
||||
GuestMemoryBlock *mem_blk;
|
||||
GuestMemoryBlockList *entry;
|
||||
|
||||
if ((strncmp(de->d_name, "memory", 6) != 0) ||
|
||||
!(de->d_type & DT_DIR)) {
|
||||
|
@ -2875,11 +2870,7 @@ GuestMemoryBlockList *qmp_guest_get_memory_blocks(Error **errp)
|
|||
break;
|
||||
}
|
||||
|
||||
entry = g_malloc0(sizeof *entry);
|
||||
entry->value = mem_blk;
|
||||
|
||||
*link = entry;
|
||||
link = &entry->next;
|
||||
QAPI_LIST_APPEND(tail, mem_blk);
|
||||
}
|
||||
|
||||
closedir(dp);
|
||||
|
@ -2899,15 +2890,14 @@ GuestMemoryBlockList *qmp_guest_get_memory_blocks(Error **errp)
|
|||
GuestMemoryBlockResponseList *
|
||||
qmp_guest_set_memory_blocks(GuestMemoryBlockList *mem_blks, Error **errp)
|
||||
{
|
||||
GuestMemoryBlockResponseList *head, **link;
|
||||
GuestMemoryBlockResponseList *head, **tail;
|
||||
Error *local_err = NULL;
|
||||
|
||||
head = NULL;
|
||||
link = &head;
|
||||
tail = &head;
|
||||
|
||||
while (mem_blks != NULL) {
|
||||
GuestMemoryBlockResponse *result;
|
||||
GuestMemoryBlockResponseList *entry;
|
||||
GuestMemoryBlock *current_mem_blk = mem_blks->value;
|
||||
|
||||
result = g_malloc0(sizeof(*result));
|
||||
|
@ -2916,11 +2906,8 @@ qmp_guest_set_memory_blocks(GuestMemoryBlockList *mem_blks, Error **errp)
|
|||
if (local_err) { /* should never happen */
|
||||
goto err;
|
||||
}
|
||||
entry = g_malloc0(sizeof *entry);
|
||||
entry->value = result;
|
||||
|
||||
*link = entry;
|
||||
link = &entry->next;
|
||||
QAPI_LIST_APPEND(tail, result);
|
||||
mem_blks = mem_blks->next;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue