diff options
Diffstat (limited to 'hw/mem/memory-device.c')
-rw-r--r-- | hw/mem/memory-device.c | 12 |
1 files changed, 2 insertions, 10 deletions
diff --git a/hw/mem/memory-device.c b/hw/mem/memory-device.c index cf0627fd01..d9f8301711 100644 --- a/hw/mem/memory-device.c +++ b/hw/mem/memory-device.c @@ -199,7 +199,7 @@ out: MemoryDeviceInfoList *qmp_memory_device_list(void) { GSList *devices = NULL, *item; - MemoryDeviceInfoList *list = NULL, *prev = NULL; + MemoryDeviceInfoList *list = NULL, **tail = &list; object_child_foreach(qdev_get_machine(), memory_device_build_list, &devices); @@ -207,19 +207,11 @@ MemoryDeviceInfoList *qmp_memory_device_list(void) for (item = devices; item; item = g_slist_next(item)) { const MemoryDeviceState *md = MEMORY_DEVICE(item->data); const MemoryDeviceClass *mdc = MEMORY_DEVICE_GET_CLASS(item->data); - MemoryDeviceInfoList *elem = g_new0(MemoryDeviceInfoList, 1); MemoryDeviceInfo *info = g_new0(MemoryDeviceInfo, 1); mdc->fill_device_info(md, info); - elem->value = info; - elem->next = NULL; - if (prev) { - prev->next = elem; - } else { - list = elem; - } - prev = elem; + QAPI_LIST_APPEND(tail, info); } g_slist_free(devices); |