[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] Re: [PATCH 45/50] qemu-option: Functions to convert to/from
From: |
Luiz Capitulino |
Subject: |
[Qemu-devel] Re: [PATCH 45/50] qemu-option: Functions to convert to/from QDict |
Date: |
Thu, 4 Mar 2010 18:17:28 -0300 |
On Thu, 04 Mar 2010 22:12:01 +0100
Markus Armbruster <address@hidden> wrote:
> Luiz Capitulino <address@hidden> writes:
>
> > On Thu, 4 Mar 2010 16:57:06 +0100
> > Markus Armbruster <address@hidden> wrote:
> >
> >> The functions are somewhat restricted. Good enough for the job at
> >> hand. We'll extend them when we need more.
> >>
> >> Signed-off-by: Markus Armbruster <address@hidden>
> >> ---
> >> qemu-option.c | 79
> >> +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> >> qemu-option.h | 3 ++
> >> 2 files changed, 82 insertions(+), 0 deletions(-)
> >>
> >> diff --git a/qemu-option.c b/qemu-option.c
> >> index ab488e4..24bb19b 100644
> >> --- a/qemu-option.c
> >> +++ b/qemu-option.c
> [...]
> >> +/*
> >> + * Convert from QemuOpts to QDict.
> >> + * The QDict values are of type QString.
> >> + * TODO We'll want to use types appropriate for opt->desc->type, but
> >> + * this is enough for now.
> >> + */
> >> +QDict *qemu_opts_to_qdict(QemuOpts *opts, QDict *qdict)
> >> +{
> >> + QemuOpt *opt;
> >> + QObject *val;
> >> +
> >> + if (!qdict) {
> >> + qdict = qdict_new();
> >> + }
> >> + if (opts->id) {
> >> + qdict_put(qdict, "id", qstring_from_str(opts->id));
> >> + }
> >> + QTAILQ_FOREACH(opt, &opts->head, next) {
> >> + val = QOBJECT(qstring_from_str(opt->str));
> >> + qdict_put_obj(qdict, opt->name, val);
> >> + }
> >
> > Why not just do:
> >
> > qdict_put(qdict, opt->name, qstring_from_str(opt->str));
>
> I got a version without the TODO. Looks like this:
>
> QTAILQ_FOREACH(opt, &opts->head, next) {
> switch (opt->desc ? opt->desc->type : QEMU_OPT_STRING) {
> case QEMU_OPT_BOOL:
> val = QOBJECT(qbool_from_int(opt->value.boolean));
> break;
> case QEMU_OPT_NUMBER:
> case QEMU_OPT_SIZE:
> // FIXME opts only uint64_t, qint only int64_t
> val = QOBJECT(qint_from_int(opt->value.uint));
> break;
> default:
> val = QOBJECT(qstring_from_str(opt->str));
> break;
> }
> qdict_put_obj(qdict, opt->name, val);
> }
>
> I dumbed it down to keep this series as simple as possible, and missed
> the simplification opportunity. Okay to leave it as is?
Yes, although it's worth changing in case you resend the series with
other modifications (assuming you'll cleanup soon, of course).
- [Qemu-devel] [PATCH 06/50] monitor: Separate "default monitor" and "current monitor" cleanly, (continued)
- [Qemu-devel] [PATCH 06/50] monitor: Separate "default monitor" and "current monitor" cleanly, Markus Armbruster, 2010/03/04
- [Qemu-devel] [PATCH 40/50] error: New QERR_BUS_NO_HOTPLUG, Markus Armbruster, 2010/03/04
- [Qemu-devel] [PATCH 18/50] error: Infrastructure to track locations for error reporting, Markus Armbruster, 2010/03/04
- [Qemu-devel] [PATCH 15/50] error: Don't abuse qemu_error() for non-error in scsi_hot_add(), Markus Armbruster, 2010/03/04
- [Qemu-devel] [PATCH 34/50] error: New QERR_BUS_NOT_FOUND, Markus Armbruster, 2010/03/04
- [Qemu-devel] [PATCH 39/50] error: New QERR_BAD_BUS_FOR_DEVICE, Markus Armbruster, 2010/03/04
- [Qemu-devel] [PATCH 42/50] error: New QERR_NO_BUS_FOR_DEVICE, Markus Armbruster, 2010/03/04
- [Qemu-devel] [PATCH 45/50] qemu-option: Functions to convert to/from QDict, Markus Armbruster, 2010/03/04
- [Qemu-devel] [PATCH 49/50] monitor: Use argument type 'O' for device_add, Markus Armbruster, 2010/03/04
- [Qemu-devel] [PATCH 47/50] qemu-option: Rename find_list() to qemu_find_opts() & external linkage, Markus Armbruster, 2010/03/04
- [Qemu-devel] [PATCH 16/50] error: Replace qemu_error() by error_report(), Markus Armbruster, 2010/03/04
- [Qemu-devel] [PATCH 24/50] qdev: Factor qdev_create_from_info() out of qdev_create(), Markus Armbruster, 2010/03/04
- [Qemu-devel] [PATCH 19/50] error: Include the program name in error messages to stderr, Markus Armbruster, 2010/03/04
- [Qemu-devel] [PATCH 38/50] error: New error_printf_unless_qmp(), Markus Armbruster, 2010/03/04
- [Qemu-devel] [PATCH 20/50] error: Track locations in configuration files, Markus Armbruster, 2010/03/04
- [Qemu-devel] [PATCH 46/50] qemu-option: Move the implied first name into QemuOptsList, Markus Armbruster, 2010/03/04
- [Qemu-devel] [PATCH 22/50] error: Track locations on command line, Markus Armbruster, 2010/03/04