Daniel P. Berrangé <[email protected]> writes:
> 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.
>
> Reviewed-by: Dr. David Alan Gilbert <[email protected]>
> Reviewed-by: Richard Henderson <[email protected]>
> Reviewed-by: Markus Armbruster <[email protected]>
> Signed-off-by: Daniel P. Berrangé <[email protected]>
> ---
> ui/vnc.c | 14 +++++++++-----
> 1 file changed, 9 insertions(+), 5 deletions(-)
>
> diff --git a/ui/vnc.c b/ui/vnc.c
> index a61a4f937d..a209c32f6d 100644
> --- a/ui/vnc.c
> +++ b/ui/vnc.c
> @@ -3534,8 +3534,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 to use passwords, please enable "
> + "password auth using '-vnc ${dpy},password'.\n");
> + }
Let's mention the error message improvement in the commit message.
> return -EINVAL;
> }
>
> @@ -3574,9 +3576,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);
> }