qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] [PATCH 11/13] qerror: folder qerror emit logic


From: Wenchao Xia
Subject: [Qemu-devel] [PATCH 11/13] qerror: folder qerror emit logic
Date: Fri, 18 Oct 2013 09:11:19 +0800

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)
-- 
1.7.1




reply via email to

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