summary refs log tree commit diff
diff options
context:
space:
mode:
authorJune McEnroe <june@causal.agency>2019-11-08 18:16:42 -0500
committerJune McEnroe <june@causal.agency>2019-11-08 18:16:42 -0500
commitca22cbfab650ad9def1310f459d5003975a0912b (patch)
tree6660befce2045f6aea8b5f7386eb8b1188471c72
parentOnly change AWAY status for registered clients (diff)
downloadpounce-ca22cbfab650ad9def1310f459d5003975a0912b.tar.gz
pounce-ca22cbfab650ad9def1310f459d5003975a0912b.zip
Avoid calling getopt_long again after it returns -1
On GNU, calling getopt_long again will reset optind back to the first
non-option argument, which would cause an infinite loop of reading the
same configurtion file forever.
Diffstat (limited to '')
-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 (;;) {
us.pty?id=4f181c9031cf11d0d2d78abe4937242e30c5359f&follow=1'>Replace causal.agency with a simple mdoc pageJune McEnroe 2021-01-11Publish "Using vi"June McEnroe 2021-01-11Enable diff.colorMovedJune McEnroe 2021-01-10Set less search case-insensitiveJune McEnroe 2021-01-10Set EXINITJune McEnroe neovim is laggy as hell in my OpenBSD VM, so I switched to vi so I could type without getting frustrated. 2021-01-09Add c -t flag to print expression typeJune McEnroe Also add missing float case. 2021-01-05Update taglineJune McEnroe