[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] Re: [PATCH 04/11] error: New QERR_INVALID_PARAMETER_VALUE
From: |
Luiz Capitulino |
Subject: |
[Qemu-devel] Re: [PATCH 04/11] error: New QERR_INVALID_PARAMETER_VALUE |
Date: |
Sun, 21 Mar 2010 21:34:17 -0300 |
On Fri, 19 Mar 2010 22:05:53 +0100
Markus Armbruster <address@hidden> wrote:
> Luiz Capitulino <address@hidden> writes:
>
> > On Thu, 18 Mar 2010 17:33:11 +0100
> > Markus Armbruster <address@hidden> wrote:
> >
> >>
> >> Signed-off-by: Markus Armbruster <address@hidden>
> >> ---
> >> qerror.c | 4 ++++
> >> qerror.h | 3 +++
> >> 2 files changed, 7 insertions(+), 0 deletions(-)
> >>
> >> diff --git a/qerror.c b/qerror.c
> >> index 9fb817e..97e8d4a 100644
> >> --- a/qerror.c
> >> +++ b/qerror.c
> >> @@ -121,6 +121,10 @@ static const QErrorStringTable qerror_table[] = {
> >> .desc = "Invalid parameter type, expected: %(expected)",
> >> },
> >> {
> >> + .error_fmt = QERR_INVALID_PARAMETER_VALUE,
> >> + .desc = "Parameter '%(name)' expects %(expected)",
> >> + },
> >
> > Would we need this error if we improve QERR_INVALID_PARAMETER to
> > accept an optional 'expects' parameter?
>
> QERR_INVALID_PARAMETER_VALUE means "this value can't be accepted for
> this parameter".
>
> QERR_INVALID_PARAMETER means "this parameter can't be accepted,
> regardless of value". Pedantically speaking, that's a different error.
> Pragmatically speaking, I doubt clients care much (but I'm the one who
> doubts clients care much for differentiating errors in general, so I'm
> biased). Practically speaking, we can use a single error class
> 'InvalidParameter' if we don't care for the difference, but I figure we
> still need separate QERR_ definitions, because we want different
> human-readable error messages.
>
> Want me to do anything here now?
Well, I agree with the human-readable argument. I'm a bit in doubt
if adding new errors is the solution for that, but it's probably
good enough for the immediate term.
>
> >> + {
> >> .error_fmt = QERR_INVALID_PASSWORD,
> >> .desc = "Password incorrect",
> >> },
> >> diff --git a/qerror.h b/qerror.h
> >> index 870cdc3..5625d54 100644
> >> --- a/qerror.h
> >> +++ b/qerror.h
> >> @@ -106,6 +106,9 @@ QError *qobject_to_qerror(const QObject *obj);
> >> #define QERR_INVALID_PARAMETER_TYPE \
> >> "{ 'class': 'InvalidParameterType', 'data': { 'name': %s,'expected':
> >> %s } }"
> >>
> >> +#define QERR_INVALID_PARAMETER_VALUE \
> >> + "{ 'class': 'InvalidParameterValue', 'data': { 'name': %s,
> >> 'expected': %s } }"
> >> +
> >> #define QERR_INVALID_PASSWORD \
> >> "{ 'class': 'InvalidPassword', 'data': {} }"
> >>
- [Qemu-devel] [PATCH 00/11] monitor: New commands netdev_add, netdev_del, Markus Armbruster, 2010/03/18
- [Qemu-devel] [PATCH 03/11] error: Convert qemu_opts_create() to QError, Markus Armbruster, 2010/03/18
- [Qemu-devel] [PATCH 02/11] error: New QERR_DUPLICATE_ID, Markus Armbruster, 2010/03/18
- [Qemu-devel] [PATCH 06/11] error: Drop extra messages after qemu_opts_set() and qemu_opts_parse(), Markus Armbruster, 2010/03/18
- [Qemu-devel] [PATCH 01/11] error: Put error definitions back in alphabetical order, Markus Armbruster, 2010/03/18
- [Qemu-devel] [PATCH 08/11] error: Convert qemu_opts_validate() to QError, Markus Armbruster, 2010/03/18
- [Qemu-devel] [PATCH 05/11] error: Convert qemu_opts_set() to QError, Markus Armbruster, 2010/03/18
- [Qemu-devel] [PATCH 09/11] error: Convert net_client_init() to QError, Markus Armbruster, 2010/03/18
- [Qemu-devel] [PATCH 07/11] error: Use QERR_INVALID_PARAMETER_VALUE instead of QERR_INVALID_PARAMETER, Markus Armbruster, 2010/03/18