qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] Re: [PATCH 05/11] error: Convert qemu_opts_set() to QError


From: Markus Armbruster
Subject: [Qemu-devel] Re: [PATCH 05/11] error: Convert qemu_opts_set() to QError
Date: Fri, 19 Mar 2010 21:58:46 +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:12 +0100
> Markus Armbruster <address@hidden> wrote:
>
>> 
>> Signed-off-by: Markus Armbruster <address@hidden>
>> ---
>>  qemu-option.c |   17 ++++++-----------
>>  1 files changed, 6 insertions(+), 11 deletions(-)
>> 
>> diff --git a/qemu-option.c b/qemu-option.c
>> index e3916be..5c39666 100644
>> --- a/qemu-option.c
>> +++ b/qemu-option.c
>> @@ -176,7 +176,7 @@ static int parse_option_bool(const char *name, const 
>> char *value, int *ret)
>>          } else if (!strcmp(value, "off")) {
>>              *ret = 0;
>>          } else {
>> -            fprintf(stderr, "Option '%s': Use 'on' or 'off'\n", name);
>> +            qerror_report(QERR_INVALID_PARAMETER_VALUE, name, "'on' or 
>> 'off'");
>>              return -1;
>>          }
>>      } else {
>> @@ -193,12 +193,12 @@ static int parse_option_number(const char *name, const 
>> char *value, uint64_t *re
>>      if (value != NULL) {
>>          number = strtoull(value, &postfix, 0);
>>          if (*postfix != '\0') {
>> -            fprintf(stderr, "Option '%s' needs a number as parameter\n", 
>> name);
>> +            qerror_report(QERR_INVALID_PARAMETER_VALUE, name, "a number");
>>              return -1;
>>          }
>>          *ret = number;
>>      } else {
>> -        fprintf(stderr, "Option '%s' needs a parameter\n", name);
>> +        qerror_report(QERR_INVALID_PARAMETER_VALUE, name, "a number");
>>          return -1;
>>      }
>>      return 0;
>> @@ -226,13 +226,11 @@ static int parse_option_size(const char *name, const 
>> char *value, uint64_t *ret)
>>              *ret = (uint64_t) sizef;
>>              break;
>>          default:
>> -            fprintf(stderr, "Option '%s' needs size as parameter\n", name);
>> -            fprintf(stderr, "You may use k, M, G or T suffixes for "
>> -                    "kilobytes, megabytes, gigabytes and terabytes.\n");
>> +            qerror_report(QERR_INVALID_PARAMETER_VALUE, name, "a size");
>
>  What about using error_printf_unless_qmp() to improve the error message?
> Although I don't like it very much it documents the code and if we feel like
> we're abusing it we'll have an excuse to do something more complicated
> like error message override.

Sure, can do that.

>>              return -1;
>>          }
>>      } else {
>> -        fprintf(stderr, "Option '%s' needs a parameter\n", name);
>> +        qerror_report(QERR_INVALID_PARAMETER_VALUE, name, "a size");
>>          return -1;
>>      }
>>      return 0;
>> @@ -581,8 +579,7 @@ int qemu_opt_set(QemuOpts *opts, const char *name, const 
>> char *value)
>>          if (i == 0) {
>>              /* empty list -> allow any */;
>>          } else {
>> -            fprintf(stderr, "option \"%s\" is not valid for %s\n",
>> -                    name, opts->list->name);
>> +            qerror_report(QERR_INVALID_PARAMETER, name);
>>              return -1;
>>          }
>>      }
>> @@ -598,8 +595,6 @@ int qemu_opt_set(QemuOpts *opts, const char *name, const 
>> char *value)
>>          opt->str = qemu_strdup(value);
>>      }
>>      if (qemu_opt_parse(opt) < 0) {
>> -        fprintf(stderr, "Failed to parse \"%s\" for \"%s.%s\"\n", opt->str,
>> -                opts->list->name, opt->name);
>>          qemu_opt_del(opt);
>>          return -1;
>>      }
>
>  Not generating an error on purpose here?

Yes.  When qemu_opt_parse() returns failure, an error was already
emitted.  The first few patch hunks convert those errors.




reply via email to

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