From 60cbef45a90054c408a6ccaf043c31670fc37911 Mon Sep 17 00:00:00 2001 From: June McEnroe Date: Mon, 16 Mar 2026 23:01:01 -0400 Subject: Make the = between options and values optional --- config.c | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) (limited to 'config.c') diff --git a/config.c b/config.c index 30d7c6c..2310e83 100644 --- a/config.c +++ b/config.c @@ -26,7 +26,9 @@ */ #include +#include #include +#include #include #include #include @@ -95,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", @@ -119,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