diff options
| author | Bruce Hill <bruce@bruce-hill.com> | 2025-05-17 16:31:37 -0400 |
|---|---|---|
| committer | Bruce Hill <bruce@bruce-hill.com> | 2025-05-17 16:31:37 -0400 |
| commit | 4636eeb4bf93b260e5c5cbecfb18c8c9b2a6976d (patch) | |
| tree | 64520e477f3b5d80354553a006a10565ff1546d0 /src/stdlib/stdlib.c | |
| parent | 13e7d04a74f7ad0b9b9dc96f681d091b65dce5ec (diff) | |
Add --version flag for executables and more documentation.
Diffstat (limited to 'src/stdlib/stdlib.c')
| -rw-r--r-- | src/stdlib/stdlib.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/src/stdlib/stdlib.c b/src/stdlib/stdlib.c index 6a855c66..6dfc735b 100644 --- a/src/stdlib/stdlib.c +++ b/src/stdlib/stdlib.c @@ -232,7 +232,7 @@ static Table_t parse_table(const TypeInfo_t *table, int n, char *args[]) #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wstack-protector" #endif -public void _tomo_parse_args(int argc, char *argv[], Text_t usage, Text_t help, int spec_len, cli_arg_t spec[spec_len]) +public void _tomo_parse_args(int argc, char *argv[], Text_t usage, Text_t help, const char *version, int spec_len, cli_arg_t spec[spec_len]) { bool populated_args[spec_len]; bool used_args[argc]; @@ -310,7 +310,11 @@ public void _tomo_parse_args(int argc, char *argv[], Text_t usage, Text_t help, } if (streq(argv[i], "--help")) { - say(help, true); + print(help); + exit(0); + } + if (streq(argv[i], "--version")) { + print(version); exit(0); } print_err("Unrecognized argument: ", argv[i], "\n", usage); @@ -361,7 +365,7 @@ public void _tomo_parse_args(int argc, char *argv[], Text_t usage, Text_t help, } if (*f == 'h') { - say(help, true); + print(help); exit(0); } print_err("Unrecognized flag: ", flag, "\n", usage); @@ -554,7 +558,7 @@ public void say(Text_t text, bool newline) public _Noreturn void tomo_exit(Text_t text, int32_t status) { if (text.length > 0) - say(text, true); + print(text); _exit(status); } |
