--- xroach.c.orig	Wed Sep 22 18:18:08 1999
+++ xroach.c	Wed Sep 22 18:18:17 1999
@@ -77,7 +77,7 @@
 int MarkHiddenRoaches();
 Pixel AllocNamedColor();
 
-void
+int
 main(ac, av)
 int ac;
 char *av[];
@@ -96,26 +96,30 @@
     /*
        Process command line options.
     */
-    for (ax=1; ax<ac; ax++) {
-	arg = av[ax];
+    for (ax=1; ax<ac; ) {
+	arg = av[ax++];
+
+	if (ax >= ac)
+	    Usage();
+
 	if (strcmp(arg, "-display") == 0) {
-	    display_name = av[++ax];
+	    display_name = av[ax++];
 	}
 	else if (strcmp(arg, "-rc") == 0) {
-	    roachColor = av[++ax];
+	    roachColor = av[ax++];
 	}
 	else if (strcmp(arg, "-speed") == 0) {
-	    roachSpeed = atof(av[++ax]);
+	    roachSpeed = atof(av[ax++]);
 	}
 	else if (strcmp(arg, "-roaches") == 0) {
-	    maxRoaches = strtol(av[++ax], (char **)NULL, 0);
+	    maxRoaches = strtol(av[ax++], (char **)NULL, 0);
 	}
 	else {
 	    Usage();
 	}
     }
 
-    srand((int)time((long *)NULL));
+    srand((int)time(NULL));
     
     /*
        Catch some signals so we can erase any visible roaches.
@@ -212,6 +216,7 @@
     CoverRoot();
     
     XCloseDisplay(display);
+    return (0);
 }
 
 #define USEPRT(msg) fprintf(stderr, msg)
