[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 11/13] qerror: folder qerror emit logic
From: |
Paolo Bonzini |
Subject: |
Re: [Qemu-devel] [PATCH 11/13] qerror: folder qerror emit logic |
Date: |
Fri, 18 Oct 2013 11:49:40 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130923 Thunderbird/17.0.9 |
Il 18/10/2013 03:11, Wenchao Xia ha scritto:
> The code about how to print the message, is foldered into a function,
> so if we want to change the print behavior in the future, just modify
> that function only.
>
> Signed-off-by: Wenchao Xia <address@hidden>
> ---
> qobject/qerror.c | 28 ++++++++++++++++------------
> 1 files changed, 16 insertions(+), 12 deletions(-)
>
> diff --git a/qobject/qerror.c b/qobject/qerror.c
> index 685167a..86d1b07 100644
> --- a/qobject/qerror.c
> +++ b/qobject/qerror.c
> @@ -79,6 +79,16 @@ static void qerror_print(QError *qerror)
> loc_pop(&qerror->loc);
> }
>
> +static void monitor_print_qerror(QError *qerror)
> +{
> + if (monitor_cur_is_qmp()) {
> + QINCREF(qerror);
> + monitor_set_error(cur_mon, qerror);
> + } else {
> + qerror_print(qerror);
> + }
> +}
> +
> void qerror_report(ErrorClass eclass, const char *fmt, ...)
> {
> va_list va;
> @@ -88,12 +98,9 @@ void qerror_report(ErrorClass eclass, const char *fmt, ...)
> qerror = qerror_from_info(eclass, fmt, &va);
> va_end(va);
>
> - if (monitor_cur_is_qmp()) {
> - monitor_set_error(cur_mon, qerror);
> - } else {
> - qerror_print(qerror);
> - QDECREF(qerror);
> - }
> + monitor_print_qerror(qerror);
> +
> + QDECREF(qerror);
> }
>
> void qerror_report_err(Error *err)
> @@ -105,12 +112,9 @@ void qerror_report_err(Error *err)
> qerr->err_msg = g_strdup(err->msg);
> qerr->err_class = err->err_class;
>
> - if (monitor_cur_is_qmp()) {
> - monitor_set_error(cur_mon, qerr);
> - } else {
> - qerror_print(qerr);
> - QDECREF(qerr);
> - }
> + monitor_print_qerror(qerr);
> +
> + QDECREF(qerr);
> }
>
> void assert_no_error(Error *err)
>
Reviewed-by: Paolo Bonzini <address@hidden>