chiark / gitweb /
generate all
[version-charset-test.git] / generate.c
diff --git a/generate.c b/generate.c
new file mode 100644 (file)
index 0000000..f5b79f5
--- /dev/null
@@ -0,0 +1,37 @@
+
+#include <stdio.h>
+#include <stdlib.h>
+
+static const char charset[]=
+  "01234567890"
+  "abcdefghijklmnopqrstuvwxyz"
+  "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
+  ".-+:~";
+
+#define ML 10
+
+static char sofar[ML+1];
+
+static void gen(char *inbuf, int len) {
+  if (!len) {
+    *inbuf = 0;
+    puts(sofar);
+    return;
+  }
+  const char *cp;
+  for (cp=charset; *cp; cp++) {
+    *inbuf = *cp;
+    gen(inbuf+1, len-1);
+  }
+}    
+
+int main(void) {
+  int len;
+
+  for (len=0; len<ML; len++) {
+    fprintf(stderr,"generating len=%d\n",len);
+    gen(sofar, len);
+  }
+  if (ferror(stdout) ||
+      fflush(stdout)) { perror("stdout"); abort(); }
+}