diff options
author | Thomas Adam <thomas@xteddy.org> | 2021-08-20 20:01:27 +0100 |
---|---|---|
committer | Thomas Adam <thomas@xteddy.org> | 2021-08-20 20:01:27 +0100 |
commit | 944fde7c57c4f3caebb04cfc3943a81ee9729de8 (patch) | |
tree | adaf9710dee065de66e40cd12359a403bd3f6dea /arguments.c | |
parent | 41822ef782122be42305c0c21e2f166077d09002 (diff) | |
parent | 6cbc83c6a64f272575aac1ee32cc0a0b1cb75c7b (diff) |
Merge branch 'obsd-master' into master
Diffstat (limited to 'arguments.c')
-rw-r--r-- | arguments.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/arguments.c b/arguments.c index 3ce0e680..f6f6ecaf 100644 --- a/arguments.c +++ b/arguments.c @@ -63,6 +63,17 @@ args_find(struct args *args, u_char flag) return (RB_FIND(args_tree, &args->tree, &entry)); } +/* Create an empty arguments set. */ +struct args * +args_create(void) +{ + struct args *args; + + args = xcalloc(1, sizeof *args); + RB_INIT(&args->tree); + return (args); +} + /* Parse an argv and argc into a new argument set. */ struct args * args_parse(const char *template, int argc, char **argv) @@ -70,12 +81,11 @@ args_parse(const char *template, int argc, char **argv) struct args *args; int opt; - args = xcalloc(1, sizeof *args); - optreset = 1; optind = 1; optarg = NULL; + args = args_create(); while ((opt = getopt(argc, argv, template)) != -1) { if (opt < 0) continue; |