Commit 86dd35cf71 for qemu.org
commit 86dd35cf71bf66b6cc2fc3e1399ee0528b087150
Author: Marc-André Lureau <marcandre.lureau@redhat.com>
Date: Sat Apr 4 18:28:59 2026 +0400
ui/vnc: vnc_display_init() and vnc_display_open() return bool
Use the QEMU-style error pattern returning "true" on success.
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
diff --git a/include/ui/console.h b/include/ui/console.h
index 2bf768ed48..7224b8142f 100644
--- a/include/ui/console.h
+++ b/include/ui/console.h
@@ -438,8 +438,8 @@ const char *qemu_display_get_vc(DisplayOptions *opts);
void qemu_display_help(void);
/* vnc.c */
-void vnc_display_init(const char *id, Error **errp);
-void vnc_display_open(const char *id, Error **errp);
+bool vnc_display_init(const char *id, Error **errp);
+bool vnc_display_open(const char *id, Error **errp);
void vnc_display_add_client(const char *id, int csock, bool skipauth);
int vnc_display_password(const char *id, const char *password, Error **errp);
int vnc_display_pw_expire(const char *id, time_t expires);
diff --git a/ui/vnc.c b/ui/vnc.c
index 3a908670ab..067f534cf0 100644
--- a/ui/vnc.c
+++ b/ui/vnc.c
@@ -3425,12 +3425,12 @@ static void vmstate_change_handler(void *opaque, bool running, RunState state)
static void vnc_display_free(VncDisplay *vd);
-void vnc_display_init(const char *id, Error **errp)
+bool vnc_display_init(const char *id, Error **errp)
{
VncDisplay *vd;
if (vnc_display_find(id) != NULL) {
- return;
+ return true;
}
vd = g_malloc0(sizeof(*vd));
@@ -3451,7 +3451,7 @@ void vnc_display_init(const char *id, Error **errp)
if (!vd->kbd_layout) {
vnc_display_free(vd);
- return;
+ return false;
}
vd->share_policy = VNC_SHARE_POLICY_ALLOW_EXCLUSIVE;
@@ -3465,6 +3465,7 @@ void vnc_display_init(const char *id, Error **errp)
&vmstate_change_handler, vd);
QTAILQ_INSERT_TAIL(&vnc_displays, vd, next);
+ return true;
}
static void vnc_display_close(VncDisplay *vd)
@@ -4070,7 +4071,7 @@ bool vnc_display_update(DisplayUpdateOptionsVNC *arg, Error **errp)
return true;
}
-void vnc_display_open(const char *id, Error **errp)
+bool vnc_display_open(const char *id, Error **errp)
{
VncDisplay *vd = vnc_display_find(id);
QemuOpts *opts = qemu_opts_find(&qemu_vnc_opts, id);
@@ -4273,7 +4274,7 @@ void vnc_display_open(const char *id, Error **errp)
qkbd_state_set_delay(vd->kbd, key_delay_ms);
if (saddr_list == NULL) {
- return;
+ return true;
}
if (reverse) {
@@ -4291,10 +4292,11 @@ void vnc_display_open(const char *id, Error **errp)
}
/* Success */
- return;
+ return true;
fail:
vnc_display_close(vd);
+ return false;
}
void vnc_display_add_client(const char *id, int csock, bool skipauth)
@@ -4350,12 +4352,10 @@ int vnc_init_func(void *opaque, QemuOpts *opts, Error **errp)
id = vnc_auto_assign_id(opts);
}
- vnc_display_init(id, errp);
- if (*errp) {
+ if (!vnc_display_init(id, errp)) {
return -1;
}
- vnc_display_open(id, errp);
- if (*errp) {
+ if (!vnc_display_open(id, errp)) {
return -1;
}
return 0;