qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH v2 6/8] error: Implement the warn and free Error


From: Markus Armbruster
Subject: Re: [Qemu-devel] [PATCH v2 6/8] error: Implement the warn and free Error functions
Date: Mon, 10 Jul 2017 15:39:29 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux)

Alistair Francis <address@hidden> writes:

> Implement warn_report_err() and warn_reportf_err() functions which
> are the same as the error_report_err() and error_reportf_err()
> functions except report a warning instead of an error.
>
> Signed-off-by: Alistair Francis <address@hidden>
> ---
>
>  include/qapi/error.h  | 11 +++++++++++
>  scripts/checkpatch.pl |  1 +
>  util/error.c          | 19 +++++++++++++++++++
>  3 files changed, 31 insertions(+)
>
> diff --git a/include/qapi/error.h b/include/qapi/error.h
> index 7e532d00e9..af53b34410 100644
> --- a/include/qapi/error.h
> +++ b/include/qapi/error.h
> @@ -267,11 +267,22 @@ void error_free(Error *err);
>  void error_free_or_abort(Error **errp);
>  
>  /*
> + * Convenience function to warn_report() and free @err.
> + */
> +void warn_report_err(Error *err);
> +
> +/*
>   * Convenience function to error_report() and free @err.
>   */
>  void error_report_err(Error *err);
>  
>  /*
> + * Convenience function to error_prepend(), warn_report() and free @err.
> + */
> +void warn_reportf_err(Error *err, const char *fmt, ...)
> +    GCC_FMT_ATTR(2, 3);
> +
> +/*
>   * Convenience function to error_prepend(), error_report() and free @err.
>   */
>  void error_reportf_err(Error *err, const char *fmt, ...)
> diff --git a/scripts/checkpatch.pl b/scripts/checkpatch.pl
> index b76fe30ad3..8f5cbaa12e 100755
> --- a/scripts/checkpatch.pl
> +++ b/scripts/checkpatch.pl
> @@ -2533,6 +2533,7 @@ sub process {
>                               error_setg_file_open|
>                               error_set|
>                               error_prepend|
> +                             warn_reportf_err|
>                               error_reportf_err|
>                               error_report|
>                               warn_report|
> diff --git a/util/error.c b/util/error.c
> index 020b86b9f0..373566fb77 100644
> --- a/util/error.c
> +++ b/util/error.c
> @@ -223,6 +223,15 @@ const char *error_get_pretty(const Error *err)
>      return err->msg;
>  }
>  
> +void warn_report_err(Error *err)
> +{
> +    warn_report("%s", error_get_pretty(err));
> +    if (err->hint) {
> +        error_printf_unless_qmp("%s", err->hint->str);
> +    }
> +    error_free(err);
> +}
> +
>  void error_report_err(Error *err)
>  {
>      error_report("%s", error_get_pretty(err));
> @@ -232,6 +241,16 @@ void error_report_err(Error *err)
>      error_free(err);
>  }
>  
> +void warn_reportf_err(Error *err, const char *fmt, ...)
> +{
> +    va_list ap;
> +
> +    va_start(ap, fmt);
> +    error_vprepend(&err, fmt, ap);
> +    va_end(ap);
> +    warn_report_err(err);
> +}
> +
>  void error_reportf_err(Error *err, const char *fmt, ...)
>  {
>      va_list ap;

Everywhere else, you put error before warning before info.  Let's do it
here, too.

Reviewed-by: Markus Armbruster <address@hidden>



reply via email to

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