Re: [PATCH v3 07/44] qemu-option: Make uses of find_desc_by_name() more similar
On Mon, 6 Jul 2020 10:09:13 +0200 Markus Armbruster wrote: > This is to make the next commit easier to review. > > Signed-off-by: Markus Armbruster > Reviewed-by: Eric Blake > Reviewed-by: Vladimir Sementsov-Ogievskiy > --- Reviewed-by: Greg Kurz > util/qemu-option.c | 32 ++-- > 1 file changed, 18 insertions(+), 14 deletions(-) > > diff --git a/util/qemu-option.c b/util/qemu-option.c > index fd1fd23521..1df55bc881 100644 > --- a/util/qemu-option.c > +++ b/util/qemu-option.c > @@ -270,6 +270,7 @@ static void qemu_opt_del_all(QemuOpts *opts, const char > *name) > const char *qemu_opt_get(QemuOpts *opts, const char *name) > { > QemuOpt *opt; > +const QemuOptDesc *desc; > > if (opts == NULL) { > return NULL; > @@ -277,7 +278,7 @@ const char *qemu_opt_get(QemuOpts *opts, const char *name) > > opt = qemu_opt_find(opts, name); > if (!opt) { > -const QemuOptDesc *desc = find_desc_by_name(opts->list->desc, name); > +desc = find_desc_by_name(opts->list->desc, name); > if (desc && desc->def_value_str) { > return desc->def_value_str; > } > @@ -348,6 +349,7 @@ static bool qemu_opt_get_bool_helper(QemuOpts *opts, > const char *name, > bool defval, bool del) > { > QemuOpt *opt; > +const QemuOptDesc *desc; > bool ret = defval; > > if (opts == NULL) { > @@ -356,7 +358,7 @@ static bool qemu_opt_get_bool_helper(QemuOpts *opts, > const char *name, > > opt = qemu_opt_find(opts, name); > if (opt == NULL) { > -const QemuOptDesc *desc = find_desc_by_name(opts->list->desc, name); > +desc = find_desc_by_name(opts->list->desc, name); > if (desc && desc->def_value_str) { > parse_option_bool(name, desc->def_value_str, &ret, &error_abort); > } > @@ -384,6 +386,7 @@ static uint64_t qemu_opt_get_number_helper(QemuOpts > *opts, const char *name, > uint64_t defval, bool del) > { > QemuOpt *opt; > +const QemuOptDesc *desc; > uint64_t ret = defval; > > if (opts == NULL) { > @@ -392,7 +395,7 @@ static uint64_t qemu_opt_get_number_helper(QemuOpts > *opts, const char *name, > > opt = qemu_opt_find(opts, name); > if (opt == NULL) { > -const QemuOptDesc *desc = find_desc_by_name(opts->list->desc, name); > +desc = find_desc_by_name(opts->list->desc, name); > if (desc && desc->def_value_str) { > parse_option_number(name, desc->def_value_str, &ret, > &error_abort); > } > @@ -421,6 +424,7 @@ static uint64_t qemu_opt_get_size_helper(QemuOpts *opts, > const char *name, > uint64_t defval, bool del) > { > QemuOpt *opt; > +const QemuOptDesc *desc; > uint64_t ret = defval; > > if (opts == NULL) { > @@ -429,7 +433,7 @@ static uint64_t qemu_opt_get_size_helper(QemuOpts *opts, > const char *name, > > opt = qemu_opt_find(opts, name); > if (opt == NULL) { > -const QemuOptDesc *desc = find_desc_by_name(opts->list->desc, name); > +desc = find_desc_by_name(opts->list->desc, name); > if (desc && desc->def_value_str) { > parse_option_size(name, desc->def_value_str, &ret, &error_abort); > } > @@ -540,18 +544,18 @@ void qemu_opt_set_bool(QemuOpts *opts, const char > *name, bool val, > Error **errp) > { > QemuOpt *opt; > -const QemuOptDesc *desc = opts->list->desc; > +const QemuOptDesc *desc; > > -opt = g_malloc0(sizeof(*opt)); > -opt->desc = find_desc_by_name(desc, name); > -if (!opt->desc && !opts_accepts_any(opts)) { > +desc = find_desc_by_name(opts->list->desc, name); > +if (!desc && !opts_accepts_any(opts)) { > error_setg(errp, QERR_INVALID_PARAMETER, name); > -g_free(opt); > return; > } > > +opt = g_malloc0(sizeof(*opt)); > opt->name = g_strdup(name); > opt->opts = opts; > +opt->desc = desc; > opt->value.boolean = !!val; > opt->str = g_strdup(val ? "on" : "off"); > QTAILQ_INSERT_TAIL(&opts->head, opt, next); > @@ -561,18 +565,18 @@ void qemu_opt_set_number(QemuOpts *opts, const char > *name, int64_t val, > Error **errp) > { > QemuOpt *opt; > -const QemuOptDesc *desc = opts->list->desc; > +const QemuOptDesc *desc; > > -opt = g_malloc0(sizeof(*opt)); > -opt->desc = find_desc_by_name(desc, name); > -if (!opt->desc && !opts_accepts_any(opts)) { > +desc = find_desc_by_name(opts->list->desc, name); > +if (!desc && !opts_accepts_any(opts)) { > error_setg(errp, QERR_INVALID_PARAMETER, name); > -g_free(opt); > return; > } > > +opt = g_malloc0(sizeof(*opt)); > opt->name = g_strdup(name); > opt->opts = opts; > +opt->desc = desc; > opt->valu
[PATCH v3 07/44] qemu-option: Make uses of find_desc_by_name() more similar
This is to make the next commit easier to review. Signed-off-by: Markus Armbruster Reviewed-by: Eric Blake Reviewed-by: Vladimir Sementsov-Ogievskiy --- util/qemu-option.c | 32 ++-- 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/util/qemu-option.c b/util/qemu-option.c index fd1fd23521..1df55bc881 100644 --- a/util/qemu-option.c +++ b/util/qemu-option.c @@ -270,6 +270,7 @@ static void qemu_opt_del_all(QemuOpts *opts, const char *name) const char *qemu_opt_get(QemuOpts *opts, const char *name) { QemuOpt *opt; +const QemuOptDesc *desc; if (opts == NULL) { return NULL; @@ -277,7 +278,7 @@ const char *qemu_opt_get(QemuOpts *opts, const char *name) opt = qemu_opt_find(opts, name); if (!opt) { -const QemuOptDesc *desc = find_desc_by_name(opts->list->desc, name); +desc = find_desc_by_name(opts->list->desc, name); if (desc && desc->def_value_str) { return desc->def_value_str; } @@ -348,6 +349,7 @@ static bool qemu_opt_get_bool_helper(QemuOpts *opts, const char *name, bool defval, bool del) { QemuOpt *opt; +const QemuOptDesc *desc; bool ret = defval; if (opts == NULL) { @@ -356,7 +358,7 @@ static bool qemu_opt_get_bool_helper(QemuOpts *opts, const char *name, opt = qemu_opt_find(opts, name); if (opt == NULL) { -const QemuOptDesc *desc = find_desc_by_name(opts->list->desc, name); +desc = find_desc_by_name(opts->list->desc, name); if (desc && desc->def_value_str) { parse_option_bool(name, desc->def_value_str, &ret, &error_abort); } @@ -384,6 +386,7 @@ static uint64_t qemu_opt_get_number_helper(QemuOpts *opts, const char *name, uint64_t defval, bool del) { QemuOpt *opt; +const QemuOptDesc *desc; uint64_t ret = defval; if (opts == NULL) { @@ -392,7 +395,7 @@ static uint64_t qemu_opt_get_number_helper(QemuOpts *opts, const char *name, opt = qemu_opt_find(opts, name); if (opt == NULL) { -const QemuOptDesc *desc = find_desc_by_name(opts->list->desc, name); +desc = find_desc_by_name(opts->list->desc, name); if (desc && desc->def_value_str) { parse_option_number(name, desc->def_value_str, &ret, &error_abort); } @@ -421,6 +424,7 @@ static uint64_t qemu_opt_get_size_helper(QemuOpts *opts, const char *name, uint64_t defval, bool del) { QemuOpt *opt; +const QemuOptDesc *desc; uint64_t ret = defval; if (opts == NULL) { @@ -429,7 +433,7 @@ static uint64_t qemu_opt_get_size_helper(QemuOpts *opts, const char *name, opt = qemu_opt_find(opts, name); if (opt == NULL) { -const QemuOptDesc *desc = find_desc_by_name(opts->list->desc, name); +desc = find_desc_by_name(opts->list->desc, name); if (desc && desc->def_value_str) { parse_option_size(name, desc->def_value_str, &ret, &error_abort); } @@ -540,18 +544,18 @@ void qemu_opt_set_bool(QemuOpts *opts, const char *name, bool val, Error **errp) { QemuOpt *opt; -const QemuOptDesc *desc = opts->list->desc; +const QemuOptDesc *desc; -opt = g_malloc0(sizeof(*opt)); -opt->desc = find_desc_by_name(desc, name); -if (!opt->desc && !opts_accepts_any(opts)) { +desc = find_desc_by_name(opts->list->desc, name); +if (!desc && !opts_accepts_any(opts)) { error_setg(errp, QERR_INVALID_PARAMETER, name); -g_free(opt); return; } +opt = g_malloc0(sizeof(*opt)); opt->name = g_strdup(name); opt->opts = opts; +opt->desc = desc; opt->value.boolean = !!val; opt->str = g_strdup(val ? "on" : "off"); QTAILQ_INSERT_TAIL(&opts->head, opt, next); @@ -561,18 +565,18 @@ void qemu_opt_set_number(QemuOpts *opts, const char *name, int64_t val, Error **errp) { QemuOpt *opt; -const QemuOptDesc *desc = opts->list->desc; +const QemuOptDesc *desc; -opt = g_malloc0(sizeof(*opt)); -opt->desc = find_desc_by_name(desc, name); -if (!opt->desc && !opts_accepts_any(opts)) { +desc = find_desc_by_name(opts->list->desc, name); +if (!desc && !opts_accepts_any(opts)) { error_setg(errp, QERR_INVALID_PARAMETER, name); -g_free(opt); return; } +opt = g_malloc0(sizeof(*opt)); opt->name = g_strdup(name); opt->opts = opts; +opt->desc = desc; opt->value.uint = val; opt->str = g_strdup_printf("%" PRId64, val); QTAILQ_INSERT_TAIL(&opts->head, opt, next); -- 2.26.2