qemu-devel
[Top][All Lists]
Advanced

[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: Markus Armbruster
Subject: [Qemu-devel] Re: [PATCH 04/11] error: New QERR_INVALID_PARAMETER_VALUE
Date: Fri, 19 Mar 2010 22:05:53 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1 (gnu/linux)

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?

>> +    {
>>          .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': {} }"
>>  




reply via email to

[Prev in Thread] Current Thread [Next in Thread]