From c3a5635b9f898fbc66195800fe9ddbef1ece2331 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Fri, 4 Nov 2016 11:53:56 +0000 Subject: [PATCH] generate all --- Makefile | 3 +++ generate | 12 ------------ generate.c | 37 +++++++++++++++++++++++++++++++++++++ 3 files changed, 40 insertions(+), 12 deletions(-) create mode 100644 Makefile delete mode 100755 generate create mode 100644 generate.c diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..f4499ca --- /dev/null +++ b/Makefile @@ -0,0 +1,3 @@ +CFLAGS=-Wall + +all: generate diff --git a/generate b/generate deleted file mode 100755 index 86c43ff..0000000 --- a/generate +++ /dev/null @@ -1,12 +0,0 @@ -#!/usr/bin/perl -w -use strict; - -foreach my $len (0..7) { - print STDERR "generate len $len\n"; - foreach (my $val=0; ; $val++) { - my $s = sprintf "%0${len}d", $val; - last if length $s > $len; - $s =~ y/0-9/.+:~09mAZ-/; - print $s,"\n" or die $!; - } -} diff --git a/generate.c b/generate.c new file mode 100644 index 0000000..f5b79f5 --- /dev/null +++ b/generate.c @@ -0,0 +1,37 @@ + +#include +#include + +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