From dfdd994a38869f1a3a026232a8b579f3fb98c42c Mon Sep 17 00:00:00 2001 From: theblacksquid Date: Fri, 23 Oct 2020 04:03:19 +0800 Subject: [PATCH] Implement option to only create a wod square. --- sigutils.c | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/sigutils.c b/sigutils.c index cbffa32..aa4d99c 100644 --- a/sigutils.c +++ b/sigutils.c @@ -15,6 +15,7 @@ char help1[] = "-h Print this message and quit.\n"; char help2[] = "-v Print the version and license info, then quit.\n"; char help3[] = "-n Append the numerical and root values to the result.\n"; char help4[] = "-w Generate a Word Square based on the SOI\n"; +char help5[] = "-W Generate word square ONLY.\n"; int main(int argc, char** argv) { @@ -22,9 +23,10 @@ int main(int argc, char** argv) int version_flag = 0; int help_flag = 0; int word_flag = 0; + int word_only_flag = 0; int c; - while ((c = getopt(argc, argv, "nvhw")) != -1) + while ((c = getopt(argc, argv, "nvhwW")) != -1) switch (c) { case 'n': numeric_flag = 1; @@ -39,6 +41,8 @@ int main(int argc, char** argv) case 'w': word_flag = 1; break; + case 'W': word_only_flag = 1; + break; } if (version_flag) @@ -49,14 +53,15 @@ int main(int argc, char** argv) else if (help_flag) { - printf("%s%s%s%s%s", help0, help1, help2, help3, help4); + printf("%s%s%s%s%s%s", help0, help1, help2, help3, help4, help5); return 0; } char* raw = absorb_words(argc, argv, optind); char* result = string_process(raw); - printf("%s", result); + if (!word_only_flag) + printf("%s", result); if (numeric_flag) { @@ -65,9 +70,9 @@ int main(int argc, char** argv) printf(" %d %d", value, root); } - if (word_flag) + if (word_flag || word_only_flag) { - printf("\n\n%s", generate_square(result)); + printf("%s", generate_square(result)); } printf("\n"); -- 2.11.4.GIT