Browse Source

monitor: Use ERRP_GUARD() in monitor_init()

Cc: Dr. David Alan Gilbert <dgilbert@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Message-Id: <20221121085054.683122-6-armbru@redhat.com>
Markus Armbruster 2 years ago
parent
commit
50707b391e
1 changed files with 4 additions and 8 deletions
  1. 4 8
      monitor/monitor.c

+ 4 - 8
monitor/monitor.c

@@ -711,8 +711,8 @@ void monitor_init_globals_core(void)
 
 
 int monitor_init(MonitorOptions *opts, bool allow_hmp, Error **errp)
 int monitor_init(MonitorOptions *opts, bool allow_hmp, Error **errp)
 {
 {
+    ERRP_GUARD();
     Chardev *chr;
     Chardev *chr;
-    Error *local_err = NULL;
 
 
     chr = qemu_chr_find(opts->chardev);
     chr = qemu_chr_find(opts->chardev);
     if (chr == NULL) {
     if (chr == NULL) {
@@ -726,7 +726,7 @@ int monitor_init(MonitorOptions *opts, bool allow_hmp, Error **errp)
 
 
     switch (opts->mode) {
     switch (opts->mode) {
     case MONITOR_MODE_CONTROL:
     case MONITOR_MODE_CONTROL:
-        monitor_init_qmp(chr, opts->pretty, &local_err);
+        monitor_init_qmp(chr, opts->pretty, errp);
         break;
         break;
     case MONITOR_MODE_READLINE:
     case MONITOR_MODE_READLINE:
         if (!allow_hmp) {
         if (!allow_hmp) {
@@ -737,17 +737,13 @@ int monitor_init(MonitorOptions *opts, bool allow_hmp, Error **errp)
             error_setg(errp, "'pretty' is not compatible with HMP monitors");
             error_setg(errp, "'pretty' is not compatible with HMP monitors");
             return -1;
             return -1;
         }
         }
-        monitor_init_hmp(chr, true, &local_err);
+        monitor_init_hmp(chr, true, errp);
         break;
         break;
     default:
     default:
         g_assert_not_reached();
         g_assert_not_reached();
     }
     }
 
 
-    if (local_err) {
-        error_propagate(errp, local_err);
-        return -1;
-    }
-    return 0;
+    return *errp ? -1 : 0;
 }
 }
 
 
 int monitor_init_opts(QemuOpts *opts, Error **errp)
 int monitor_init_opts(QemuOpts *opts, Error **errp)