diff options
-rw-r--r-- | exclude.c | 6 | ||||
-rw-r--r-- | lib/fnmatch.c | 4 | ||||
-rw-r--r-- | lib/fnmatch.h | 6 |
3 files changed, 10 insertions, 6 deletions
@@ -94,15 +94,17 @@ static int check_one_exclude(char *name,struct exclude_struct *ex, } if (ex->regular_exp) { - if (fnmatch(pattern, name, ex->fnmatch_flags) == 0) + if (fnmatch(pattern, name, ex->fnmatch_flags) == 0) { return 1; + } } else { int l1 = strlen(name); int l2 = strlen(pattern); if (l2 <= l1 && strcmp(name+(l1-l2),pattern) == 0 && - (l1==l2 || (!match_start && name[l1-(l2+1)] == '/'))) + (l1==l2 || (!match_start && name[l1-(l2+1)] == '/'))) { return 1; + } } return 0; diff --git a/lib/fnmatch.c b/lib/fnmatch.c index dd6297c6..2feeac51 100644 --- a/lib/fnmatch.c +++ b/lib/fnmatch.c @@ -48,7 +48,6 @@ #endif #endif /* 0 */ - /* For platform which support the ISO C amendement 1 functionality we support user defined character classes. */ #if defined _LIBC || (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H) @@ -65,8 +64,7 @@ program understand `configure --with-gnu-libc' and omit the object files, it is simpler to just do this in the source for each such file. */ -#if defined _LIBC || !defined __GNU_LIBRARY__ - +#if 1 # if defined STDC_HEADERS || !defined isascii # define ISASCII(c) 1 diff --git a/lib/fnmatch.h b/lib/fnmatch.h index eeaee7fb..cc75ffdc 100644 --- a/lib/fnmatch.h +++ b/lib/fnmatch.h @@ -55,9 +55,13 @@ extern "C" { #define FNM_NOESCAPE (1 << 1) /* Backslashes don't quote special chars. */ #define FNM_PERIOD (1 << 2) /* Leading `.' is matched only explicitly. */ -#if !defined _POSIX_C_SOURCE || _POSIX_C_SOURCE < 2 || defined _GNU_SOURCE +#ifndef FNM_FILE_NAME # define FNM_FILE_NAME FNM_PATHNAME /* Preferred GNU name. */ +#endif +#ifndef FNM_LEADING_DIR # define FNM_LEADING_DIR (1 << 3) /* Ignore `/...' after a match. */ +#endif +#ifndef FNM_CASEFOLD # define FNM_CASEFOLD (1 << 4) /* Compare without regard to case. */ #endif |