From a6de6290a560c304a4e938bbd1a584a1c710e15e Mon Sep 17 00:00:00 2001 From: Nicholas Tay Date: Thu, 13 Jan 2022 23:21:42 +1100 Subject: Allow 0 triplets --- passgen.c | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/passgen.c b/passgen.c index 03f2ab9..d0a8dc9 100644 --- a/passgen.c +++ b/passgen.c @@ -91,10 +91,6 @@ char password_buf[STATIC_BUFFER_SIZE + 1]; char *build_grammar(int triplets, int specials, int numbers, int *grammar_size) { - if (triplets < 1) { - fprintf(stderr, "ERROR: Cannot have less than one triplet."); - return NULL; - } *grammar_size = triplets * 3 + specials + numbers; char *build = grammar_buf; @@ -107,10 +103,11 @@ char *build_grammar(int triplets, int specials, int numbers, int *grammar_size) } build[*grammar_size] = 0; - memcpy(build, "Cvc", 3); - for (int i = 1; i < triplets; ++i) - memcpy(build + (i * 3), "cvc", 3); - + if (triplets > 0) { + memcpy(build, "Cvc", 3); + for (int i = 1; i < triplets; ++i) + memcpy(build + (i * 3), "cvc", 3); + } memset(build + (triplets * 3), '!', specials); memset(build + (triplets * 3) + specials, '#', numbers); return build; -- cgit