X-Git-Url: http://mj.ucw.cz/gitweb/?a=blobdiff_plain;f=lib%2Fpatmatch.c;h=f03a2deb5d357e3752121221dbe2c4756d084665;hb=3d60a4fe8e95194666956fe7e861101f40571630;hp=c1d60932cd44544252f1777adc04a06ae3310e93;hpb=b0ccc07f3011959ac4a11e76e1b50c84ba31efe9;p=libucw.git diff --git a/lib/patmatch.c b/lib/patmatch.c index c1d60932..f03a2deb 100644 --- a/lib/patmatch.c +++ b/lib/patmatch.c @@ -1,42 +1,15 @@ /* * Sherlock Library -- Shell-Like 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 "lib/lib.h" -int -match_pattern(byte *p, byte *s) -{ - while (*p) - { - if (*p == '?' && *s) - p++, s++; - else if (*p == '*') - { - int z = p[1]; +#define Convert(x) (x) +#define MATCH_FUNC_NAME match_pattern - if (!z) - return 1; - while (s = strchr(s, z)) - { - if (match_pattern(p+1, s)) - return 1; - s++; - } - return 0; - } - else - { - if (*p == '\\' && p[1]) - p++; - if (*p++ != *s++) - return 0; - } - } - return !*s; -} +#include "lib/patmatch.h"