summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--exclude.c6
-rw-r--r--lib/fnmatch.c4
-rw-r--r--lib/fnmatch.h6
3 files changed, 10 insertions, 6 deletions
diff --git a/exclude.c b/exclude.c
index fefe2993..1b5373d3 100644
--- a/exclude.c
+++ b/exclude.c
@@ -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