aboutsummaryrefslogtreecommitdiff
path: root/stdlib/stdlib.h
diff options
context:
space:
mode:
authorBruce Hill <bruce@bruce-hill.com>2024-09-28 15:17:09 -0400
committerBruce Hill <bruce@bruce-hill.com>2024-09-28 15:17:09 -0400
commit23af8b64a3f924f3eed3307735e1041b72f32c1f (patch)
treec9bdd4ad4f9152e134afc4c0f1713425d4361d85 /stdlib/stdlib.h
parent566356d82ed97c274b7985cafdce6704520c8ff0 (diff)
Overhaul of argument parsing code
Diffstat (limited to 'stdlib/stdlib.h')
-rw-r--r--stdlib/stdlib.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/stdlib/stdlib.h b/stdlib/stdlib.h
index b8e78e9b..ea4f5d27 100644
--- a/stdlib/stdlib.h
+++ b/stdlib/stdlib.h
@@ -20,7 +20,9 @@ typedef struct {
} cli_arg_t;
void tomo_init(void);
-void tomo_parse_args(Text_t usage, Text_t help, int spec_len, cli_arg_t spec[spec_len], int argc, char *argv[]);
+void _tomo_parse_args(int argc, char *argv[], Text_t usage, Text_t help, int spec_len, cli_arg_t spec[spec_len]);
+#define tomo_parse_args(argc, argv, usage, help, ...) \
+ _tomo_parse_args(argc, argv, usage, help, sizeof((cli_arg_t[]){__VA_ARGS__})/sizeof(cli_arg_t), (cli_arg_t[]){__VA_ARGS__})
__attribute__((format(printf, 1, 2)))
_Noreturn void fail(const char *fmt, ...);
__attribute__((format(printf, 4, 5)))