[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 1/9] QDict: Introduce qdict_get_try_bool()
From: |
Luiz Capitulino |
Subject: |
Re: [Qemu-devel] [PATCH 1/9] QDict: Introduce qdict_get_try_bool() |
Date: |
Wed, 2 Jun 2010 10:53:02 -0300 |
On Wed, 02 Jun 2010 08:35:16 +0200
Markus Armbruster <address@hidden> wrote:
> Luiz Capitulino <address@hidden> writes:
>
> > Signed-off-by: Luiz Capitulino <address@hidden>
> > ---
> > qdict.c | 18 ++++++++++++++++++
> > qdict.h | 1 +
> > 2 files changed, 19 insertions(+), 0 deletions(-)
> >
> > diff --git a/qdict.c b/qdict.c
> > index 175bc17..ca3c3b1 100644
> > --- a/qdict.c
> > +++ b/qdict.c
> > @@ -287,6 +287,24 @@ int64_t qdict_get_try_int(const QDict *qdict, const
> > char *key,
> > }
> >
> > /**
> > + * qdict_get_try_bool(): Try to get a bool mapped by 'key'
> > + *
> > + * Return bool mapped by 'key', if it is not present in the
> > + * dictionary or if the stored object is not of QBool type
> > + * 'err_value' will be returned.
> > + */
> > +int qdict_get_try_bool(const QDict *qdict, const char *key, int err_value)
> > +{
> > + QObject *obj;
> > +
> > + obj = qdict_get(qdict, key);
> > + if (!obj || qobject_type(obj) != QTYPE_QBOOL)
> > + return err_value;
> > +
> > + return qbool_get_int(qobject_to_qbool(obj));
> > +}
> > +
> > +/**
> > * qdict_get_try_str(): Try to get a pointer to the stored string
> > * mapped by 'key'
> > *
> > diff --git a/qdict.h b/qdict.h
> > index 5e5902c..5cca816 100644
> > --- a/qdict.h
> > +++ b/qdict.h
> > @@ -57,6 +57,7 @@ QDict *qdict_get_qdict(const QDict *qdict, const char
> > *key);
> > const char *qdict_get_str(const QDict *qdict, const char *key);
> > int64_t qdict_get_try_int(const QDict *qdict, const char *key,
> > int64_t err_value);
> > +int qdict_get_try_bool(const QDict *qdict, const char *key, int err_value);
> > const char *qdict_get_try_str(const QDict *qdict, const char *key);
> >
> > #endif /* QDICT_H */
>
> Nitpick: there's precedence for parameter name "err_value" in qdict.c,
> but it's a misleading name all the same. The parameter is a default
> value. Missing key is *not* an error.
Good point.
[Qemu-devel] [PATCH 2/9] Monitor: handle optional '-' arg as a bool, Luiz Capitulino, 2010/06/01
[Qemu-devel] [PATCH 5/9] QMP: Drop old client argument checker, Luiz Capitulino, 2010/06/01
[Qemu-devel] [PATCH 6/9] QMP: check_opts(): Minor cleanup, Luiz Capitulino, 2010/06/01