chiark / gitweb /
generate: support K/N
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Fri, 4 Nov 2016 16:20:35 +0000 (16:20 +0000)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Fri, 4 Nov 2016 16:20:35 +0000 (16:20 +0000)
generate.c

index 75299fe4bf3121ed1122826add35fde4130d3db3..c9c8ceee4e1e1000bdbcb77c8667d83778b52999 100644 (file)
@@ -1,6 +1,7 @@
 
 #include <stdio.h>
 #include <stdlib.h>
+#include <string.h>
 #include <assert.h>
 
 static const char charset[]=
@@ -13,10 +14,16 @@ static const char charset[]=
 
 static char sofar[ML+1];
 
+static int denomix, denom=1;
+
 static void gen(char *inbuf, int len) {
   if (!len) {
     *inbuf = 0;
-    puts(sofar);
+    if (!denomix) {
+      puts(sofar);
+    }
+    denomix += (denom-1);
+    denomix %= denom;
     return;
   }
   const char *cp;
@@ -29,6 +36,13 @@ static void gen(char *inbuf, int len) {
 int main(int argc, char **argv) {
   int len;
   int minlen=0, maxlen=ML;
+  char *slash;
+
+  if (argc>=2 && (slash = strchr(argv[1], '/'))) {
+      denomix = atoi(argv[1]);
+      denom = atoi(slash+1);
+      argv++; argc--;
+  }
 
   if (argc==3) {
     minlen = atoi(argv[1]);