diff options
author | June McEnroe <june@causal.agency> | 2024-05-22 20:59:47 -0400 |
---|---|---|
committer | June McEnroe <june@causal.agency> | 2024-05-22 20:59:47 -0400 |
commit | 7cfd4a9c8525096fd43e6a33a55b8b175e4e1fdb (patch) | |
tree | 18d19b00a5b932c6d5bc5b848090d0bb9c7878ab | |
parent | Remove use of sysexits.h (diff) | |
download | catgirl-7cfd4a9c8525096fd43e6a33a55b8b175e4e1fdb.tar.gz catgirl-7cfd4a9c8525096fd43e6a33a55b8b175e4e1fdb.zip |
Make the = between options and values optional
Documentation upcoming with wider improvements to the manual, hopefully.
Diffstat (limited to '')
-rw-r--r-- | config.c | 14 |
1 files changed, 5 insertions, 9 deletions
diff --git a/config.c b/config.c index be88f2f..e568e40 100644 --- a/config.c +++ b/config.c @@ -97,13 +97,6 @@ int getopt_config( } char *equal = &name[len] + strspn(&name[len], WS); - if (*equal && *equal != '=') { - warnx( - "%s:%zu: option `%s' missing equals sign", - path, num, option->name - ); - return clean('?'); - } if (option->has_arg == no_argument && *equal) { warnx( "%s:%zu: option `%s' doesn't allow an argument", @@ -121,8 +114,11 @@ int getopt_config( optarg = NULL; if (*equal) { - char *arg = &equal[1] + strspn(&equal[1], WS); - optarg = strdup(arg); + if (*equal == '=') { + optarg = strdup(&equal[1] + strspn(&equal[1], WS)); + } else { + optarg = strdup(equal); + } if (!optarg) { warn("getopt_config"); return clean('?'); |