fixed dmenu
[dmenu.git] / dmenu.c
diff --git a/dmenu.c b/dmenu.c
index a4fca09..b28a548 100644 (file)
--- a/dmenu.c
+++ b/dmenu.c
@@ -507,20 +507,16 @@ match(char *pattern) {
        nitem = 0;
        for(i = allitems; i; i=i->next)
                i->matched = False;
-
        for(i = allitems; i; i = i->next)
                if(!i->matched && !strncasecmp(pattern, i->text, plen))
                        j = appenditem(i, j);
-
-       for (i = allitems; i; i = i->next)
+       for(i = allitems; i; i = i->next)
                if(!i->matched && strcasestr(i->text, pattern))
                        j = appenditem(i, j);
-
        if(idomatch)
-               for (i = allitems; i; i = i->next)
+               for(i = allitems; i; i = i->next)
                        if(!i->matched && strcaseido(i->text, pattern))
                                j = appenditem(i, j);
-
        curr = prev = next = sel = item;
        calcoffsets();
 }
@@ -628,7 +624,7 @@ setup(Bool bottom) {
 int
 strcaseido(const char *text, const char *pattern) {
        for(; *text && *pattern; text++)
-               if (tolower(*text) == tolower(*pattern))
+               if(tolower((int)*text) == tolower((int)*pattern))
                        pattern++;
        return !*pattern;
 }