From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:48760) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1b9tIj-0002fy-Rc for qemu-devel@nongnu.org; Mon, 06 Jun 2016 08:06:39 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1b9tIf-0004Wj-Vh for qemu-devel@nongnu.org; Mon, 06 Jun 2016 08:06:37 -0400 Received: from mx1.redhat.com ([209.132.183.28]:50885) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1b9tIf-0004WX-Nt for qemu-devel@nongnu.org; Mon, 06 Jun 2016 08:06:33 -0400 Received: from int-mx10.intmail.prod.int.phx2.redhat.com (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mx1.redhat.com (Postfix) with ESMTPS id BDCCC8F50A for ; Mon, 6 Jun 2016 12:06:32 +0000 (UTC) Date: Mon, 6 Jun 2016 13:06:29 +0100 From: "Daniel P. Berrange" Message-ID: <20160606120629.GC5581@redhat.com> Reply-To: "Daniel P. Berrange" References: <1465214470-12515-1-git-send-email-pbonzini@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <1465214470-12515-1-git-send-email-pbonzini@redhat.com> Subject: Re: [Qemu-devel] [PATCH] vnc: generalize "VNC server running on ..." message List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Paolo Bonzini Cc: qemu-devel@nongnu.org On Mon, Jun 06, 2016 at 02:01:10PM +0200, Paolo Bonzini wrote: > The message is useful whenever the user specifies "-vnc to=XX". > Move it to ui/vnc.c. > > Signed-off-by: Paolo Bonzini > --- > include/ui/console.h | 7 ------- > ui/vnc.c | 16 ++++++++-------- > vl.c | 7 ------- > 3 files changed, 8 insertions(+), 22 deletions(-) > > diff --git a/include/ui/console.h b/include/ui/console.h > index 52a5f65..7c1fdba 100644 > --- a/include/ui/console.h > +++ b/include/ui/console.h > @@ -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 */ > diff --git a/ui/vnc.c b/ui/vnc.c > index c862fdc..a2bf535 100644 > --- a/ui/vnc.c > +++ b/ui/vnc.c > @@ -3207,15 +3207,11 @@ 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; > @@ -3225,11 +3221,9 @@ char *vnc_display_local_addr(const char *id) > qapi_free_SocketAddress(addr); > return NULL; > } > - ret = g_strdup_printf("%s;%s", addr->u.inet.data->host, > + printf("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 = { > @@ -3515,6 +3509,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; > @@ -3594,6 +3589,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; > @@ -3838,6 +3834,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; By calling this from vnc_display_open, you'll cause it to print to stdout, even when using QMP, because qmp_change_vnc_listen calls vnc_display_open. Regards, Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|