From 151fdb4e61cf8e6a8344d10522a0825d5f6ed675 Mon Sep 17 00:00:00 2001 From: Aargh Rai Date: Mon, 15 Jun 2026 11:45:38 +0530 Subject: fixed an issue with length not have a default when mode is specified --- README.md | 14 ++++++++------ src/help.c | 1 + src/main.c | 44 ++++++++++++++++++++++++++++---------------- 3 files changed, 37 insertions(+), 22 deletions(-) diff --git a/README.md b/README.md index 56a5e7c..e0792d6 100644 --- a/README.md +++ b/README.md @@ -13,14 +13,16 @@ options: -h --help show this message examples: - lorem p 2 generate 2 paragraphs - lorem w 2 generate 2 words - lorem l 2 generate 2 lines/sentences - lorem s 2 generate 2 lines/sentences - lorem 2 generate 2 lines/sentences - lorem generate 1 line/sentence + lorem p 2 generate 2 paragraphs + lorem w 2 generate 2 words + lorem l 2 generate 2 lines/sentences + lorem s 2 generate 2 lines/sentences + lorem 2 generate 2 lines/sentences + lorem generate 1 line/sentence + lorem p generate 1 paragraph lorem paragraph 2 generate 2 paragraphs lorem word 2 generate 2 words lorem line 2 generate 2 lines/sentences lorem sentence 2 generate 2 lines/sentences + ``` diff --git a/src/help.c b/src/help.c index f5eedcc..14acfbf 100644 --- a/src/help.c +++ b/src/help.c @@ -16,6 +16,7 @@ int print_help() { printf(" lorem s 2\t\tgenerate 2 lines/sentences\n"); printf(" lorem 2\t\tgenerate 2 lines/sentences\n"); printf(" lorem\t\t\tgenerate 1 line/sentence\n"); + printf(" lorem p\t\tgenerate 1 paragraph\n"); printf(" lorem paragraph 2\tgenerate 2 paragraphs\n"); printf(" lorem word 2\t\tgenerate 2 words\n"); printf(" lorem line 2\t\tgenerate 2 lines/sentences\n"); diff --git a/src/main.c b/src/main.c index 2398207..ccdd119 100644 --- a/src/main.c +++ b/src/main.c @@ -6,6 +6,22 @@ #include "modes.h" #include "help.h" +#define IS_WORD(x) ( \ + (strcmp(x, "w") == 0) || \ + (strcmp(x, "word") == 0) \ + ) +#define IS_LINE(x) ( \ + (strcmp(x, "l") == 0) || \ + (strcmp(x, "s") == 0) || \ + (strcmp(x, "line") == 0) || \ + (strcmp(x, "sentence") == 0) \ + ) +#define IS_PARA(x) ( \ + (strcmp(x, "p") == 0) || \ + (strcmp(x, "para") == 0) || \ + (strcmp(x, "paragraph") == 0) \ + ) + int main(int argc, char **argv) { int mode = MODE_SENTENCE; int length = 1; @@ -22,25 +38,21 @@ int main(int argc, char **argv) { } if (argc == 2) { - length = atoi(argv[1]); + if (IS_LINE(argv[1])) { + mode = MODE_SENTENCE; + } else if (IS_PARA(argv[1])) { + mode = MODE_PARAGRAPH; + } else if (IS_WORD(argv[1])) { + mode = MODE_WORD; + } else { + length = atoi(argv[1]); + } } else if (argc == 3) { - if ( - (strcmp(argv[1], "l") == 0) || - (strcmp(argv[1], "line") == 0) || - (strcmp(argv[1], "s") == 0) || - (strcmp(argv[1], "sentence") == 0) - ) { + if (IS_LINE(argv[1])) { mode = MODE_SENTENCE; - } else if ( - (strcmp(argv[1], "p") == 0) || - (strcmp(argv[1], "para") == 0) || - (strcmp(argv[1], "paragraph") == 0) - ) { + } else if (IS_PARA(argv[1])) { mode = MODE_PARAGRAPH; - } else if ( - (strcmp(argv[1], "w") == 0) || - (strcmp(argv[1], "word") == 0) - ) { + } else if (IS_WORD(argv[1])) { mode = MODE_WORD; } length = atoi(argv[2]); -- cgit v1.2.3