fzy

terminal fuzzy finder picker

git clone https://9o.is/git/fzy.git

commit 98c7584a31d1d7f5053e3e2cebb8f7a5c0953d0d
parent ffa039f7c422ffc53664d204f386dedbf254ae46
Author: John Hawthorn <john.hawthorn@gmail.com>
Date:   Sun, 21 Sep 2014 23:13:09 -0700

Rewrite has_match using strpbrk

Diffstat:
Mmatch.c | 17++++++++++-------
1 file changed, 10 insertions(+), 7 deletions(-)

diff --git a/match.c b/match.c @@ -9,16 +9,19 @@ #include "config.h" +char *strcasechr(const char *s, char c){ + const char accept[3] = {c, toupper(c), 0}; + return strpbrk(s, accept); +} + int has_match(const char *needle, const char *haystack){ while(*needle){ - char nch = tolower(*needle++); - for(;;){ - char ch = *haystack++; - if(!ch) - return 0; - else if(nch == tolower(ch)) - break; + char nch = *needle++; + + if(!(haystack = strcasechr(haystack, nch))){ + return 0; } + haystack++; } return 1; }