On 9/10/25 18:03, Daniel P. Berrangé wrote:
This conceptually reverts 397d30e9401d2da96dbdf0ce49805d6d4bb68833.
The discussion around stubs in that commit does not appear to be
important to the current state of the codebase.

This makes the error_vprintf() impl source file match that
of error_printf(), and also match the header where it is declared.

Signed-off-by: Daniel P. Berrangé <berra...@redhat.com>
---
  monitor/monitor.c              | 13 -------------
  stubs/monitor-core.c           |  5 +++++
  tests/unit/test-util-sockets.c |  1 +
  util/error-report.c            | 13 +++++++++++++
  4 files changed, 19 insertions(+), 13 deletions(-)

diff --git a/monitor/monitor.c b/monitor/monitor.c
index 03dbe5d131..e1e5dbfcbe 100644
--- a/monitor/monitor.c
+++ b/monitor/monitor.c
@@ -268,19 +268,6 @@ void monitor_printc(Monitor *mon, int c)
      monitor_printf(mon, "'");
  }
-/*
- * Print to current monitor if we have one, else to stderr.
- */
-int error_vprintf(const char *fmt, va_list ap)
-{
-    Monitor *cur_mon = monitor_cur();
-
-    if (cur_mon && !monitor_cur_is_qmp()) {
-        return monitor_vprintf(cur_mon, fmt, ap);
-    }
-    return vfprintf(stderr, fmt, ap);
-}
-
  static MonitorQAPIEventConf monitor_qapi_event_conf[QAPI_EVENT__MAX] = {
      /* Limit guest-triggerable events to 1 per second */
      [QAPI_EVENT_RTC_CHANGE]        = { 1000 * SCALE_MS },
diff --git a/stubs/monitor-core.c b/stubs/monitor-core.c
index 1894cdfe1f..b498a0f1af 100644
--- a/stubs/monitor-core.c
+++ b/stubs/monitor-core.c
@@ -7,6 +7,11 @@ Monitor *monitor_cur(void)
      return NULL;
  }
+bool monitor_cur_is_qmp(void)
+{
+    return false;
+}

Better as g_assert_not_reached(). It's not obvious whether hmp or qmp is a better fallback answer for "no monitor". Anyway, since monitor_cur() is NULL, we should never get here.

With that,
Reviewed-by: Richard Henderson <richard.hender...@linaro.org>


r~

+
  Monitor *monitor_set_cur(Coroutine *co, Monitor *mon)
  {
      return NULL;
diff --git a/tests/unit/test-util-sockets.c b/tests/unit/test-util-sockets.c
index ee66d727c3..bd48731ea2 100644
--- a/tests/unit/test-util-sockets.c
+++ b/tests/unit/test-util-sockets.c
@@ -72,6 +72,7 @@ int monitor_get_fd(Monitor *mon, const char *fdname, Error 
**errp)
   * otherwise we get duplicate syms at link time.
   */
  Monitor *monitor_cur(void) { return cur_mon; }
+bool monitor_cur_is_qmp(void) { return false; }
  Monitor *monitor_set_cur(Coroutine *co, Monitor *mon) { abort(); }
  int monitor_vprintf(Monitor *mon, const char *fmt, va_list ap) { abort(); }
diff --git a/util/error-report.c b/util/error-report.c
index 1b17c11de1..79b6f23e64 100644
--- a/util/error-report.c
+++ b/util/error-report.c
@@ -29,6 +29,19 @@ bool message_with_timestamp;
  bool error_with_guestname;
  const char *error_guest_name;
+/*
+ * Print to current monitor if we have one, else to stderr.
+ */
+int error_vprintf(const char *fmt, va_list ap)
+{
+    Monitor *cur_mon = monitor_cur();
+
+    if (cur_mon && !monitor_cur_is_qmp()) {
+        return monitor_vprintf(cur_mon, fmt, ap);
+    }
+    return vfprintf(stderr, fmt, ap);
+}
+
  int error_printf(const char *fmt, ...)
  {
      va_list ap;


Reply via email to