vnc: generalize "VNC server running on ..." message

The message is useful whenever the user specifies "-vnc to=XX".
Move it to ui/vnc.c.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
Paolo Bonzini 2016-05-31 14:59:08 +02:00
parent cc96677469
commit 33df7bf3bf
3 changed files with 12 additions and 25 deletions

View File

@ -460,7 +460,6 @@ void vnc_display_add_client(const char *id, int csock, bool skipauth);
#ifdef CONFIG_VNC
int vnc_display_password(const char *id, const char *password);
int vnc_display_pw_expire(const char *id, time_t expires);
char *vnc_display_local_addr(const char *id);
QemuOpts *vnc_parse(const char *str, Error **errp);
int vnc_init_func(void *opaque, QemuOpts *opts, Error **errp);
#else
@ -482,12 +481,6 @@ static inline int vnc_init_func(void *opaque, QemuOpts *opts, Error **errp)
error_setg(errp, "VNC support is disabled");
return -1;
}
static inline char *vnc_display_local_addr(const char *id)
{
/* This must never be called if CONFIG_VNC is disabled */
error_report("VNC support is disabled");
abort();
}
#endif
/* curses.c */

View File

@ -3205,29 +3205,24 @@ int vnc_display_pw_expire(const char *id, time_t expires)
return 0;
}
char *vnc_display_local_addr(const char *id)
static void vnc_display_print_local_addr(VncDisplay *vs)
{
VncDisplay *vs = vnc_display_find(id);
SocketAddress *addr;
char *ret;
Error *err = NULL;
assert(vs);
addr = qio_channel_socket_get_local_address(vs->lsock, &err);
if (!addr) {
return NULL;
return;
}
if (addr->type != SOCKET_ADDRESS_KIND_INET) {
qapi_free_SocketAddress(addr);
return NULL;
return;
}
ret = g_strdup_printf("%s:%s", addr->u.inet.data->host,
addr->u.inet.data->port);
error_printf_unless_qmp("VNC server running on %s:%s\n",
addr->u.inet.data->host,
addr->u.inet.data->port);
qapi_free_SocketAddress(addr);
return ret;
}
static QemuOptsList qemu_vnc_opts = {
@ -3513,6 +3508,7 @@ void vnc_display_open(const char *id, Error **errp)
const char *vnc;
char *h;
const char *credid;
int show_vnc_port = 0;
bool sasl = false;
#ifdef CONFIG_VNC_SASL
int saslErr;
@ -3592,6 +3588,7 @@ void vnc_display_open(const char *id, Error **errp)
if (to) {
inet->has_to = true;
inet->to = to + 5900;
show_vnc_port = 1;
}
inet->ipv4 = ipv4;
inet->has_ipv4 = has_ipv4;
@ -3836,6 +3833,10 @@ void vnc_display_open(const char *id, Error **errp)
}
}
if (show_vnc_port) {
vnc_display_print_local_addr(vs);
}
qapi_free_SocketAddress(saddr);
qapi_free_SocketAddress(wsaddr);
return;

7
vl.c
View File

@ -2947,7 +2947,6 @@ int main(int argc, char **argv, char **envp)
const char *qtest_log = NULL;
const char *pid_file = NULL;
const char *incoming = NULL;
int show_vnc_port = 0;
bool defconfig = true;
bool userconfig = true;
bool nographic = false;
@ -4216,7 +4215,6 @@ int main(int argc, char **argv, char **envp)
display_type = DT_COCOA;
#elif defined(CONFIG_VNC)
vnc_parse("localhost:0,to=99,id=default", &error_abort);
show_vnc_port = 1;
#else
display_type = DT_NONE;
#endif
@ -4565,11 +4563,6 @@ int main(int argc, char **argv, char **envp)
qemu_opts_foreach(qemu_find_opts("vnc"),
vnc_init_func, NULL, NULL);
#endif
if (show_vnc_port) {
char *ret = vnc_display_local_addr("default");
printf("VNC server running on '%s'\n", ret);
g_free(ret);
}
if (using_spice) {
qemu_spice_display_init();