X-Git-Url: https://git.xinqibao.xyz/dmenu.git/blobdiff_plain/cd2133a5f66b42f992a9a1b92bbbce11dc26b941..3e39c526d28582b0b5606d3e3bb36ee3d271e616:/dmenu.c diff --git a/dmenu.c b/dmenu.c index 98507d9..88d2f12 100644 --- a/dmenu.c +++ b/dmenu.c @@ -103,13 +103,21 @@ cleanup(void) } static char * -cistrstr(const char *s, const char *sub) +cistrstr(const char *h, const char *n) + { - size_t len; + size_t i; - for (len = strlen(sub); *s; s++) - if (!strncasecmp(s, sub, len)) - return (char *)s; + 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; }