about summary refs log tree commit diff
path: root/config.c
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--config.c20
1 files changed, 8 insertions, 12 deletions
diff --git a/config.c b/config.c
index 121a849..d6eaa45 100644
--- a/config.c
+++ b/config.c
@@ -56,21 +56,17 @@ int getopt_config(
 	const char *optstring, const struct option *longopts, int *longindex
 ) {
 	static int opt;
-	if (opt >= 0) {
-		opt = getopt_long(argc, argv, optstring, longopts, longindex);
-	}
-	if (opt >= 0) return opt;
-
 	for (;;) {
 		if (!file) {
-			if (optind < argc) {
-				num = 0;
-				path = argv[optind++];
-				file = configOpen(path, "r");
-				if (!file) return clean('?');
-			} else {
-				return clean(-1);
+			if (optind == argc) return clean(-1);
+			if (opt >= 0 && argv[optind][0] == '-') {
+				opt = getopt_long(argc, argv, optstring, longopts, longindex);
+				if (opt >= 0 || optind == argc) return clean(opt);
 			}
+			num = 0;
+			path = argv[optind++];
+			file = configOpen(path, "r");
+			if (!file) return clean('?');
 		}
 
 		for (;;) {
an>Don't match DQ string inside SQ stringJune McEnroe 2019-02-10Skip only one character if a match fails due to parentJune McEnroe Really it should skip forward until the parent changes, but this is simpler. 2019-02-10Remove pattend from hiJune McEnroe 2019-02-10Replace uses of pattend with newline patternsJune McEnroe 2019-02-10Add hi debug outputJune McEnroe 2019-02-10Actually do HTML &quot; escapingJune McEnroe 2019-02-10Set git commit.verboseJune McEnroe 2019-02-10Add back missing static keywordJune McEnroe