[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v25 31/31] QemuOpts: cleanup tmp 'allocated' member
From: |
Chunyan Liu |
Subject: |
[Qemu-devel] [PATCH v25 31/31] QemuOpts: cleanup tmp 'allocated' member from QemuOptsList |
Date: |
Fri, 11 Apr 2014 01:54:27 +0800 |
Now only qemu_opts_append uses 'allocated' to indicate free memory.
For this function only, we can also let result list's (const char *)
members point to input list's members, only if the input list has
longer lifetime than result list. In current code, that is true.
So, we can remove the 'allocated' member from QemuOptsList definition
to keep code clean.
Signed-off-by: Chunyan Liu <address@hidden>
---
include/qemu/option.h | 5 -----
util/qemu-option.c | 26 ++------------------------
2 files changed, 2 insertions(+), 29 deletions(-)
diff --git a/include/qemu/option.h b/include/qemu/option.h
index 0551beb..59bea75 100644
--- a/include/qemu/option.h
+++ b/include/qemu/option.h
@@ -63,11 +63,6 @@ typedef struct QemuOptDesc {
} QemuOptDesc;
struct QemuOptsList {
- /* FIXME: Temp used for QEMUOptionParamter->QemuOpts conversion to
- * indicate free memory. Will remove after all drivers switch to QemuOpts.
- */
- bool allocated;
-
const char *name;
const char *implied_opt_name;
bool merge_lists; /* Merge multiple uses of option into a single list? */
diff --git a/util/qemu-option.c b/util/qemu-option.c
index bf80b0d..9340cef 100644
--- a/util/qemu-option.c
+++ b/util/qemu-option.c
@@ -1076,26 +1076,12 @@ static size_t count_opts_list(QemuOptsList *list)
void qemu_opts_free(QemuOptsList *list)
{
- /* List members point to new malloced space and need to free.
- * FIXME:
- * Introduced for QEMUOptionParamter->QemuOpts conversion.
- * Will remove after all drivers switch to QemuOpts.
- */
- if (list && list->allocated) {
- QemuOptDesc *desc = list->desc;
- while (desc && desc->name) {
- g_free((char *)desc->name);
- g_free((char *)desc->help);
- g_free((char *)desc->def_value_str);
- desc++;
- }
- }
-
g_free(list);
}
/* Realloc dst option list and append options from an option list (list)
* to it. dst could be NULL or a malloced list.
+ * Result dst has shorter lifetime then input list.
*/
QemuOptsList *qemu_opts_append(QemuOptsList *dst,
QemuOptsList *list)
@@ -1124,23 +1110,15 @@ QemuOptsList *qemu_opts_append(QemuOptsList *dst,
dst->name = NULL;
dst->implied_opt_name = NULL;
QTAILQ_INIT(&dst->head);
- dst->allocated = true;
}
dst->desc[num_dst_opts].name = NULL;
- /* (const char *) members of result dst are malloced, need free. */
- assert(dst->allocated);
/* append list->desc to dst->desc */
if (list) {
desc = list->desc;
while (desc && desc->name) {
if (find_desc_by_name(dst->desc, desc->name) == NULL) {
- dst->desc[num_dst_opts].name = g_strdup(desc->name);
- dst->desc[num_dst_opts].type = desc->type;
- dst->desc[num_dst_opts].help = g_strdup(desc->help);
- dst->desc[num_dst_opts].def_value_str =
- g_strdup(desc->def_value_str);
- num_dst_opts++;
+ dst->desc[num_dst_opts++] = *desc;
dst->desc[num_dst_opts].name = NULL;
}
desc++;
--
1.7.12.4
- [Qemu-devel] [PATCH v25 18/31] qcow2.c: replace QEMUOptionParameter with QemuOpts, (continued)
- [Qemu-devel] [PATCH v25 18/31] qcow2.c: replace QEMUOptionParameter with QemuOpts, Chunyan Liu, 2014/04/11
- [Qemu-devel] [PATCH v25 21/31] raw-win32.c: replace QEMUOptionParameter with QemuOpts, Chunyan Liu, 2014/04/11
- [Qemu-devel] [PATCH v25 22/31] raw_bsd.c: replace QEMUOptionParameter with QemuOpts, Chunyan Liu, 2014/04/11
- [Qemu-devel] [PATCH v25 27/31] vhdx.c: replace QEMUOptionParameter with QemuOpts, Chunyan Liu, 2014/04/11
- [Qemu-devel] [PATCH v25 25/31] ssh.c: replace QEMUOptionParameter with QemuOpts, Chunyan Liu, 2014/04/11
- [Qemu-devel] [PATCH v25 24/31] sheepdog.c: replace QEMUOptionParameter with QemuOpts, Chunyan Liu, 2014/04/11
- [Qemu-devel] [PATCH v25 23/31] rbd.c: replace QEMUOptionParameter with QemuOpts, Chunyan Liu, 2014/04/11
- [Qemu-devel] [PATCH v25 26/31] vdi.c: replace QEMUOptionParameter with QemuOpts, Chunyan Liu, 2014/04/11
- [Qemu-devel] [PATCH v25 28/31] vmdk.c: replace QEMUOptionParameter with QemuOpts, Chunyan Liu, 2014/04/11
- [Qemu-devel] [PATCH v25 29/31] vpc.c: replace QEMUOptionParameter with QemuOpts, Chunyan Liu, 2014/04/11
- [Qemu-devel] [PATCH v25 31/31] QemuOpts: cleanup tmp 'allocated' member from QemuOptsList,
Chunyan Liu <=
- [Qemu-devel] [PATCH v25 30/31] cleanup QEMUOptionParameter, Chunyan Liu, 2014/04/11
- Re: [Qemu-devel] [PATCH v25 00/31] replace QEMUOptionParameter with QemuOpts, Stefan Hajnoczi, 2014/04/25
- Re: [Qemu-devel] [PATCH v25 00/31] replace QEMUOptionParameter with QemuOpts, Chunyan Liu, 2014/04/21