From 7cfd4a9c8525096fd43e6a33a55b8b175e4e1fdb Mon Sep 17 00:00:00 2001 From: June McEnroe Date: Wed, 22 May 2024 20:59:47 -0400 Subject: Make the = between options and values optional Documentation upcoming with wider improvements to the manual, hopefully. --- config.c | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) (limited to 'config.c') 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('?'); -- cgit 1.4.1