chiark / gitweb /
min lengths too
[version-charset-test.git] / generate.c
index d12545a2d07f2345bf968d75c82d7f0d8b037389..75299fe4bf3121ed1122826add35fde4130d3db3 100644 (file)
@@ -1,6 +1,7 @@
 
 #include <stdio.h>
 #include <stdlib.h>
+#include <assert.h>
 
 static const char charset[]=
   "0123456789"
@@ -8,7 +9,7 @@ static const char charset[]=
   "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
   ".-+:~";
 
-#define ML 10
+#define ML 8
 
 static char sofar[ML+1];
 
@@ -25,13 +26,28 @@ static void gen(char *inbuf, int len) {
   }
 }    
 
-int main(void) {
+int main(int argc, char **argv) {
   int len;
+  int minlen=0, maxlen=ML;
 
-  for (len=0; len<ML; len++) {
-    fprintf(stderr,"generating len=%d\n",len);
+  if (argc==3) {
+    minlen = atoi(argv[1]);
+    maxlen = atoi(argv[2]);
+  } else if (argc==2) {
+    maxlen = atoi(argv[1]);
+  } else if (argc==1) {
+  } else {
+    abort();
+  }
+
+  assert(maxlen <= ML);
+
+  for (len=minlen; len<=maxlen; len++) {
+    fprintf(stderr,"********** generating len=%d **********\n",len);
     gen(sofar, len);
   }
   if (ferror(stdout) ||
       fflush(stdout)) { perror("stdout"); abort(); }
+  fputs("generate done\n",stderr);
+  return 0;
 }