[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