fixing arg handling in dmenu (thanks to Sander for his report) f6332767
Anselm R. Garbe · 2006-10-23 10:12 2 file(s) · +19 −13
config.mk +1 −1
1 1
# dmenu version
2 -
VERSION = 1.3
2 +
VERSION = 1.4
3 3
4 4
# Customize below to fit your system
5 5
main.c +18 −12
286 286
	timeout.tv_sec = 3;
287 287
	/* command line args */
288 288
	for(i = 1; i < argc; i++)
289 -
		if(!strncmp(argv[i], "-font", 6))
290 -
			font = argv[++i];
291 -
		else if(!strncmp(argv[i], "-normbg", 8))
292 -
			normbg = argv[++i];
293 -
		else if(!strncmp(argv[i], "-normfg", 8))
294 -
			normfg = argv[++i];
295 -
		else if(!strncmp(argv[i], "-selbg", 7))
296 -
			selbg = argv[++i];
297 -
		else if(!strncmp(argv[i], "-selfg", 7))
298 -
			selfg = argv[++i];
299 -
		else if(!strncmp(argv[i], "-t", 3))
300 -
			timeout.tv_sec = atoi(argv[++i]);
289 +
		if(!strncmp(argv[i], "-font", 6)) {
290 +
			if(++i < argc) font = argv[i];
291 +
		}
292 +
		else if(!strncmp(argv[i], "-normbg", 8)) {
293 +
			if(++i < argc) normbg = argv[i];
294 +
		}
295 +
		else if(!strncmp(argv[i], "-normfg", 8)) {
296 +
			if(++i < argc) normfg = argv[i];
297 +
		}
298 +
		else if(!strncmp(argv[i], "-selbg", 7)) {
299 +
			if(++i < argc) selbg = argv[i];
300 +
		}
301 +
		else if(!strncmp(argv[i], "-selfg", 7)) {
302 +
			if(++i < argc) selfg = argv[i];
303 +
		}
304 +
		else if(!strncmp(argv[i], "-t", 3)) {
305 +
			if(++i < argc) timeout.tv_sec = atoi(argv[i]);
306 +
		}
301 307
		else if(!strncmp(argv[i], "-v", 3)) {
302 308
			fputs("dmenu-"VERSION", (C)opyright MMVI Anselm R. Garbe\n", stdout);
303 309
			exit(EXIT_SUCCESS);