From: Anselm R. Garbe <arg@suckless.org>
Date: Mon, 23 Oct 2006 08:12:09 +0000 (+0200)
Subject: fixing arg handling in dmenu (thanks to Sander for his report)
X-Git-Url: https://git.xinqibao.xyz/dmenu.git/commitdiff_plain/f63327677421a07cca69b86c7dd5f01047fe14b1?hp=bb480fb4b0fd06207b2ee1b88eb32b8588e698dc

fixing arg handling in dmenu (thanks to Sander for his report)
---

diff --git a/config.mk b/config.mk
index 63fbad3..e0be79f 100644
--- a/config.mk
+++ b/config.mk
@@ -1,5 +1,5 @@
 # dmenu version
-VERSION = 1.3
+VERSION = 1.4
 
 # Customize below to fit your system
 
diff --git a/main.c b/main.c
index 3fa1e54..1d37f70 100644
--- a/main.c
+++ b/main.c
@@ -286,18 +286,24 @@ main(int argc, char *argv[]) {
 	timeout.tv_sec = 3;
 	/* command line args */
 	for(i = 1; i < argc; i++)
-		if(!strncmp(argv[i], "-font", 6))
-			font = argv[++i];
-		else if(!strncmp(argv[i], "-normbg", 8))
-			normbg = argv[++i];
-		else if(!strncmp(argv[i], "-normfg", 8))
-			normfg = argv[++i];
-		else if(!strncmp(argv[i], "-selbg", 7))
-			selbg = argv[++i];
-		else if(!strncmp(argv[i], "-selfg", 7))
-			selfg = argv[++i];
-		else if(!strncmp(argv[i], "-t", 3))
-			timeout.tv_sec = atoi(argv[++i]);
+		if(!strncmp(argv[i], "-font", 6)) {
+			if(++i < argc) font = argv[i];
+		}
+		else if(!strncmp(argv[i], "-normbg", 8)) {
+			if(++i < argc) normbg = argv[i];
+		}
+		else if(!strncmp(argv[i], "-normfg", 8)) {
+			if(++i < argc) normfg = argv[i];
+		}
+		else if(!strncmp(argv[i], "-selbg", 7)) {
+			if(++i < argc) selbg = argv[i];
+		}
+		else if(!strncmp(argv[i], "-selfg", 7)) {
+			if(++i < argc) selfg = argv[i];
+		}
+		else if(!strncmp(argv[i], "-t", 3)) {
+			if(++i < argc) timeout.tv_sec = atoi(argv[i]);
+		}
 		else if(!strncmp(argv[i], "-v", 3)) {
 			fputs("dmenu-"VERSION", (C)opyright MMVI Anselm R. Garbe\n", stdout);
 			exit(EXIT_SUCCESS);