Add -version argument to Xvnc
diff --git a/unix/xserver/hw/vnc/xvnc.c b/unix/xserver/hw/vnc/xvnc.c
index 6aad434..af04c17 100644
--- a/unix/xserver/hw/vnc/xvnc.c
+++ b/unix/xserver/hw/vnc/xvnc.c
@@ -155,6 +155,14 @@
 
 
 static void
+vncPrintBanner(void)
+{
+    ErrorF("\nXvnc %s - built %s\n%s", XVNCVERSION, buildtime, XVNCCOPYRIGHT);
+    ErrorF("Underlying X server release %d, %s\n\n", VENDOR_RELEASE,
+           VENDOR_STRING);
+}
+
+static void
 vfbInitializePixmapDepths(void)
 {
     int i;
@@ -285,9 +293,8 @@
 
 void ddxUseMsg(void)
 {
-    ErrorF("\nXvnc %s - built %s\n%s", XVNCVERSION, buildtime, XVNCCOPYRIGHT);
-    ErrorF("Underlying X server release %d, %s\n\n", VENDOR_RELEASE,
-           VENDOR_STRING);
+    vncPrintBanner();
+
     ErrorF("-screen scrn WxHxD     set screen's width, height, depth\n");
     ErrorF("-pixdepths list-of-int support given pixmap depths\n");
 #ifdef RENDER
@@ -309,6 +316,7 @@
     ErrorF("-noclipboard           disable clipboard settings modification via vncconfig utility\n");
     ErrorF("-verbose [n]           verbose startup messages\n");
     ErrorF("-quiet                 minimal startup messages\n");
+    ErrorF("-version               show the server version\n");
     ErrorF("\nVNC parameters:\n");
 
     fprintf(stderr,"\n"
@@ -611,6 +619,11 @@
         return 1;
     }
 
+    if (!strcmp(argv[i], "-showconfig") || !strcmp(argv[i], "-version")) {
+        vncPrintBanner();
+        exit(0);
+    }
+
     if (vncSetParamSimple(argv[i]))
 	return 1;
     
@@ -1587,9 +1600,7 @@
     int i;
     int NumFormats = 0;
 
-  ErrorF("\nXvnc %s - built %s\n%s", XVNCVERSION, buildtime, XVNCCOPYRIGHT);
-  ErrorF("Underlying X server release %d, %s\n\n", VENDOR_RELEASE,
-         VENDOR_STRING);
+    vncPrintBanner();
 
 #if XORG >= 113
 #ifdef GLXEXT