On Thu, 18 Mar 2010 17:33:12 +0100 Markus Armbruster <arm...@redhat.com> wrote:
> > Signed-off-by: Markus Armbruster <arm...@redhat.com> > --- > 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. > 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?