Daniel P. Berrangé <berra...@redhat.com> writes: > On Thu, Sep 11, 2025 at 05:54:48PM +0000, Richard Henderson wrote: >> On 9/10/25 18:03, Daniel P. Berrangé wrote: >> > The error_printf_unless_qmp() will print to the monitor if the current >> > one is HMP, if it is QMP nothing will be printed, otherwise stderr >> > will be used. >> > >> > This scenario is easily handled by checking !monitor_cur_is_qmp() and >> > then calling the error_printf() function. >> > >> > Signed-off-by: Daniel P. Berrangé <berra...@redhat.com> >> > --- >> > ui/vnc.c | 14 +++++++++----- >> > 1 file changed, 9 insertions(+), 5 deletions(-) >> > >> > diff --git a/ui/vnc.c b/ui/vnc.c >> > index 68ca4a68e7..439d586358 100644 >> > --- a/ui/vnc.c >> > +++ b/ui/vnc.c >> > @@ -3530,8 +3530,10 @@ int vnc_display_password(const char *id, const char >> > *password) >> > return -EINVAL; >> > } >> > if (vd->auth == VNC_AUTH_NONE) { >> > - error_printf_unless_qmp("If you want use passwords please enable " >> > - "password auth using '-vnc >> > ${dpy},password'.\n"); >> > + if (!monitor_cur_is_qmp()) { >> > + error_printf("If you want use passwords please enable "
Maybe use the opportunity to put a comma after passwords? >> > + "password auth using '-vnc ${dpy},password'.\n"); >> > + } >> > return -EINVAL; >> > } >> > @@ -3570,9 +3572,11 @@ static void vnc_display_print_local_addr(VncDisplay >> > *vd) >> > qapi_free_SocketAddress(addr); >> > return; >> > } >> > - error_printf_unless_qmp("VNC server running on %s:%s\n", >> > - addr->u.inet.host, >> > - addr->u.inet.port); >> > + if (!monitor_cur_is_qmp()) { >> > + error_printf("VNC server running on %s:%s\n", >> > + addr->u.inet.host, >> > + addr->u.inet.port); >> > + } >> > qapi_free_SocketAddress(addr); >> > } >> >> With monitor_cur_hmp, you can use monitor_printf directly. > > We still need to be able to print to stderr when there is neither HMP > nor QMP, which error_printf gets us, but monitor_printf would not. monitor_printf() is fine when it's obvious that we're in HMP context. It isn't here. Reviewed-by: Markus Armbruster <arm...@redhat.com>