the convoluted nest of #ifdefs that is fnmatch.c caught us again. On
authorAndrew Tridgell <tridge@samba.org>
Tue, 25 Jan 2000 14:17:21 +0000 (14:17 +0000)
committerAndrew Tridgell <tridge@samba.org>
Tue, 25 Jan 2000 14:17:21 +0000 (14:17 +0000)
my system the LIBC tests meant it never compiled and we used the
broken system one.

hacked it so it does compile

exclude.c
lib/fnmatch.c
lib/fnmatch.h

index fefe299..1b5373d 100644 (file)
--- 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;
index dd6297c..2feeac5 100644 (file)
@@ -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
index eeaee7f..cc75ffd 100644 (file)
@@ -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