Signed-off-by: Zhou Peng <zhoupeng@nfs.iscas.ac.cn>
--- a/tools/libxl/libxl_dm.c Wed Apr 13 14:08:41 2011 +0800
+++ b/tools/libxl/libxl_dm.c Wed Apr 13 14:20:37 2011 +0800
@@ -197,7 +197,7 @@ static char ** libxl_build_device_model_
int display = 0;
const char *listen = "127.0.0.1";
- if (info->vncpasswd && info->vncpasswd[0]) {
+ if (info->vncpasswd && !info->vncpasswd[0]) {
assert(!"missing code for supplying vnc password to
qemu");
}
flexarray_append(dm_args, "-vnc");
--
Zhou Peng
Operating System Technology Group
Institute of Software, the Chinese Academy of Sciences (ISCAS)
<ailvpeng25@gmail.com>
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel
ZhouPeng writes ("[Xen-devel] [PATCH] libxl: fix against if
condition"):> Signed-off-by: Zhou Peng <zhoupeng@nfs.iscas.ac.cn>
>
> --- a/tools/libxl/libxl_dm.c Wed Apr 13 14:08:41 2011 +0800
> +++ b/tools/libxl/libxl_dm.c Wed Apr 13 14:20:37 2011 +0800
> @@ -197,7 +197,7 @@ static char ** libxl_build_device_model_
> int display = 0;
> const char *listen = "127.0.0.1";
>
> - if (info->vncpasswd && info->vncpasswd[0]) {
> + if (info->vncpasswd && !info->vncpasswd[0]) {
> assert(!"missing code for supplying vnc password to
qemu");
> }
> flexarray_append(dm_args, "-vnc");
Looking just at the diff there, I think the original code is correct.
That is, the assert trips when:
* a password is supplied (info->vncpasswd != NULL)
* the password is nonemtpy (strlen(info->vncpasswd) > 0
which is the same as !!info->vncpasswd[0]
* we''re using a new qemu for which this code has not been implemented
That the failure manifests as an assert might be argued to be
unfortunate, but this is still code under development...
Ian.
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel
2011/4/15 Ian Jackson <Ian.Jackson@eu.citrix.com>> ZhouPeng writes ("[Xen-devel] [PATCH] libxl: fix against if condition"): > > Signed-off-by: Zhou Peng <zhoupeng@nfs.iscas.ac.cn> > > > > --- a/tools/libxl/libxl_dm.c Wed Apr 13 14:08:41 2011 +0800 > > +++ b/tools/libxl/libxl_dm.c Wed Apr 13 14:20:37 2011 +0800 > > @@ -197,7 +197,7 @@ static char ** libxl_build_device_model_ > > int display = 0; > > const char *listen = "127.0.0.1"; > > > > - if (info->vncpasswd && info->vncpasswd[0]) { > > + if (info->vncpasswd && !info->vncpasswd[0]) { > > assert(!"missing code for supplying vnc password to qemu"); >assert( ) here is missleading, I think. In my understanding, assert is offten used to help program debuging, telling user the program is runing in exception here and abort it. So, I just think "missing code" means "missing passwd code", which tell user must supply an non-empty vnc passwd, if vncpasswd is used in vm cfg file. It''s hard for me to give assert() an relationship with a comment telling something in development, :) I think an comment like TODO may be more clear, Thanks.> > } > > flexarray_append(dm_args, "-vnc"); > > Looking just at the diff there, I think the original code is correct. > That is, the assert trips when: > * a password is supplied (info->vncpasswd != NULL) > * the password is nonemtpy (strlen(info->vncpasswd) > 0 > which is the same as !!info->vncpasswd[0] > * we''re using a new qemu for which this code has not been implemented > > That the failure manifests as an assert might be argued to be > unfortunate, but this is still code under development... > > Ian. > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xensource.com > http://lists.xensource.com/xen-devel >-- Zhou Peng Operating System Technology Group Institute of Software, the Chinese Academy of Sciences (ISCAS) <ailvpeng25@gmail.com> _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
ZhouPeng writes ("Re: [Xen-devel] [PATCH] libxl: fix against if
condition"):> assert( ) here is missleading, I think.
> In my understanding, assert is offten used to help program debuging,
This code is very much under development, and the lack of support for
vnc passwords is pretty serious problem IMO.
> telling user the program is runing in exception here and abort it.
> So, I just think "missing code" means "missing passwd
code", which tell
> user must supply an non-empty vnc passwd,
No, the user may *not* supply a non-empty password if they want it to
work.
> I think an comment like TODO may be more clear,
Certainly the code should fail. If you supply a good patch which
replaces the assert with a properly logged error return I''ll apply it.
But it would be better to implement the missing feature.
Ian.
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xensource.com
http://lists.xensource.com/xen-devel