X-Git-Url: http://mj.ucw.cz/gitweb/?a=blobdiff_plain;f=lib%2Fpatimatch.c;h=a0e29af90aed6761c305c291c41dc020b4057218;hb=42b76ab379f0419d9521c9028ca41ae82b6ce890;hp=5458d323142b7bf1ba0ee2ca3df861dc1a21e6a7;hpb=0caabbdf529cf2dbcea4587ecae7f69fe01a4628;p=libucw.git diff --git a/lib/patimatch.c b/lib/patimatch.c index 5458d323..a0e29af9 100644 --- a/lib/patimatch.c +++ b/lib/patimatch.c @@ -1,38 +1,16 @@ /* - * Sherlock Library -- Shell-Like Case-Insensitive Pattern Matching (currently only '?' and '*') + * UCW Library -- Shell-Like Case-Insensitive Pattern Matching (currently only '?' and '*') * - * (c) 1997 Martin Mares, + * (c) 1997 Martin Mares + * + * This software may be freely distributed and used according to the terms + * of the GNU Lesser General Public License. */ -#include -#include - -#include "lib.h" -#include "string.h" +#include "lib/lib.h" +#include "lib/chartype.h" -int -match_pattern_nocase(byte *p, byte *s) -{ - while (*p) - { - if (*p == '?' && *s) - p++, s++; - else if (*p == '*') - { - int z = p[1]; +#define Convert(x) Cupcase(x) +#define MATCH_FUNC_NAME match_pattern_nocase - if (!z) - return 1; - while (s = strchr(s, z)) - { - if (match_pattern_nocase(p+1, s)) - return 1; - s++; - } - return 0; - } - else if (Cupcase(*p++) != Cupcase(*s++)) - return 0; - } - return !*s; -} +#include "lib/patmatch.h"