revert using strcasestr and use a more optimized portable version
... compared to the old cistrstr(). Thanks for the feedback!
This commit is contained in:
		| @ -23,7 +23,7 @@ INCS = -I$(X11INC) -I$(FREETYPEINC) | ||||
| LIBS = -L$(X11LIB) -lX11 $(XINERAMALIBS) $(FREETYPELIBS) | ||||
|  | ||||
| # flags | ||||
| CPPFLAGS = -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_GNU_SOURCE -D_XOPEN_SOURCE=700 -D_POSIX_C_SOURCE=200809L -DVERSION=\"$(VERSION)\" $(XINERAMAFLAGS) | ||||
| CPPFLAGS = -D_DEFAULT_SOURCE -D_BSD_SOURCE -D_XOPEN_SOURCE=700 -D_POSIX_C_SOURCE=200809L -DVERSION=\"$(VERSION)\" $(XINERAMAFLAGS) | ||||
| CFLAGS   = -std=c99 -pedantic -Wall -Os $(INCS) $(CPPFLAGS) | ||||
| LDFLAGS  = $(LIBS) | ||||
|  | ||||
|  | ||||
							
								
								
									
										21
									
								
								dmenu.c
									
									
									
									
									
								
							
							
						
						
									
										21
									
								
								dmenu.c
									
									
									
									
									
								
							| @ -102,6 +102,25 @@ cleanup(void) | ||||
| 	XCloseDisplay(dpy); | ||||
| } | ||||
|  | ||||
| static char * | ||||
| cistrstr(const char *h, const char *n) | ||||
|  | ||||
| { | ||||
| 	size_t i; | ||||
|  | ||||
| 	if (!n[0]) | ||||
| 		return (char *)h; | ||||
|  | ||||
| 	for (; *h; ++h) { | ||||
| 		for (i = 0; n[i] && tolower((unsigned char)n[i]) == | ||||
| 		            tolower((unsigned char)h[i]); ++i) | ||||
| 			; | ||||
| 		if (n[i] == '\0') | ||||
| 			return (char *)h; | ||||
| 	} | ||||
| 	return NULL; | ||||
| } | ||||
|  | ||||
| static int | ||||
| drawitem(struct item *item, int x, int y, int w) | ||||
| { | ||||
| @ -711,7 +730,7 @@ main(int argc, char *argv[]) | ||||
| 			fast = 1; | ||||
| 		else if (!strcmp(argv[i], "-i")) { /* case-insensitive item matching */ | ||||
| 			fstrncmp = strncasecmp; | ||||
| 			fstrstr = strcasestr; | ||||
| 			fstrstr = cistrstr; | ||||
| 		} else if (i + 1 == argc) | ||||
| 			usage(); | ||||
| 		/* these options take one argument */ | ||||
|  | ||||
		Reference in New Issue
	
	Block a user