summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--config.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/config.c b/config.c
index a96cbb6..653ae16 100644
--- a/config.c
+++ b/config.c
@@ -42,7 +42,10 @@ int getopt_config(
 	int argc, char *const *argv,
 	const char *optstring, const struct option *longopts, int *longindex
 ) {
-	int opt = getopt_long(argc, argv, optstring, longopts, longindex);
+	static int opt;
+	if (opt >= 0) {
+		opt = getopt_long(argc, argv, optstring, longopts, longindex);
+	}
 	if (opt >= 0) return opt;
 
 	for (;;) {