This pacth clean up vnc options preparing code for xen-upstream-qemu. Add password option which allows you to use vncpasswd auth by xl. Signed-off-by: Zhou Peng tools/libxl: prepare vnc options for dm_args in libxl__build_device_model_args_new diff -r 569abaf2cc12 tools/libxl/libxl_dm.c --- a/tools/libxl/libxl_dm.c Tue Apr 19 13:17:14 2011 +0800 +++ b/tools/libxl/libxl_dm.c Wed Apr 20 13:47:42 2011 +0800 @@ -208,11 +208,7 @@ static char ** libxl__build_device_model if (info->vnc || info->vncdisplay || info->vnclisten || info->vncunused) { int display = 0; const char *listen = "127.0.0.1"; - - if (info->vncpasswd && info->vncpasswd[0]) { - assert(!"missing code for supplying vnc password to qemu"); - } - flexarray_append(dm_args, "-vnc"); + char *vncoptions = NULL; if (info->vncdisplay) { display = info->vncdisplay; @@ -224,13 +220,17 @@ static char ** libxl__build_device_model } if (strchr(listen, ':') != NULL) - flexarray_append(dm_args, - libxl__sprintf(gc, "%s%s", listen, - info->vncunused ? ",to=99" : "")); + vncoptions = libxl__sprintf(gc, + "%s%s", listen, info->vncunused ? ",to=99" : ""); else - flexarray_append(dm_args, - libxl__sprintf(gc, "%s:%d%s", listen, display, - info->vncunused ? ",to=99" : "")); + vncoptions = libxl__sprintf(gc, "%s:%d%s", listen, display, + info->vncunused ? ",to=99" : ""); + + if (info->vncpasswd && info->vncpasswd[0]) + vncoptions = libxl__sprintf(gc, "%s,password", vncoptions); + + flexarray_append(dm_args, "-vnc"); + flexarray_append(dm_args, vncoptions); } if (info->sdl) { flexarray_append(dm_args, "-sdl");