error: New error_printf_unless_qmp()
diff --git a/qemu-error.c b/qemu-error.c
index a8c178b..5d5fe37 100644
--- a/qemu-error.c
+++ b/qemu-error.c
@@ -41,6 +41,17 @@
     va_end(ap);
 }
 
+void error_printf_unless_qmp(const char *fmt, ...)
+{
+    va_list ap;
+
+    if (!monitor_cur_is_qmp()) {
+        va_start(ap, fmt);
+        error_vprintf(fmt, ap);
+        va_end(ap);
+    }
+}
+
 static Location std_loc = {
     .kind = LOC_NONE
 };