--- /dev/null
+
+#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(); }
+}