chiark / gitweb /
generate: 8 only, print more
[version-charset-test.git] / generate.c
1
2 #include <stdio.h>
3 #include <stdlib.h>
4
5 static const char charset[]=
6   "0123456789"
7   "abcdefghijklmnopqrstuvwxyz"
8   "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
9   ".-+:~";
10
11 #define ML 8
12
13 static char sofar[ML+1];
14
15 static void gen(char *inbuf, int len) {
16   if (!len) {
17     *inbuf = 0;
18     puts(sofar);
19     return;
20   }
21   const char *cp;
22   for (cp=charset; *cp; cp++) {
23     *inbuf = *cp;
24     gen(inbuf+1, len-1);
25   }
26 }    
27
28 int main(void) {
29   int len;
30
31   for (len=0; len<ML; len++) {
32     fprintf(stderr,"********** generating len=%d **********\n",len);
33     gen(sofar, len);
34   }
35   if (ferror(stdout) ||
36       fflush(stdout)) { perror("stdout"); abort(); }
37 }