diff -u ./args.c setpasswd/args.c
--- ./args.c	Fri Feb  4 00:03:27 2000
+++ setpasswd/args.c	Sun Nov 19 20:45:32 2000
@@ -89,6 +89,7 @@
 	    "              [-display <display>] [-shared]\n"
 	    "              [-north] [-south] [-east] [-west]\n"
 	    "              [-passwd <passwd-file>]\n"
+	    "              [-setpasswd <clear-text-password>]\n"
 	    "              [-resurface] [-edgewidth width]\n"
 	    ,programName,programName);
     exit(1);
@@ -131,6 +132,17 @@
 	      fprintf(stderr,"x2vnc: -edgewidth cannot be less than 1\n");
 	      exit(1);
 	    }
+	} else if (strcmp(argv[i],"-setpasswd") == 0) {
+	  char *pass;
+	  if (++i >= argc) usage();
+	  pass = argv[i];
+	  if (passwdFile == NULL ) {
+	    printf("Must declare password file in -passwd before -setpasswd\n");
+	    exit(1);
+	  }
+	  vncEncryptAndStorePasswd(pass, passwdFile);
+	  printf("Password is now set.  You can now run x2vnc with only -passwd\n");
+	  exit(0);
 	} else if (strcmp(argv[i],"-passwd") == 0) {
 	    if (++i >= argc) usage();
 	    passwdFile = argv[i];

