From a601ff2f829c723a7d0b8e4984052533f9cff5f3 Mon Sep 17 00:00:00 2001 From: Jim Meyering Date: Mon, 3 Sep 2001 18:45:20 +0000 Subject: [PATCH] (fnmatch_no_wildcards): Fix confusion between usage of FNM_CASEFOLD and FNM_LEADING_DIR. The bug was spotted by Jim Meyering. --- lib/exclude.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/exclude.c b/lib/exclude.c index 7df879dd1..e44145c8a 100644 --- a/lib/exclude.c +++ b/lib/exclude.c @@ -118,20 +118,20 @@ free_exclude (struct exclude *ex) static int fnmatch_no_wildcards (char const *pattern, char const *f, int options) { - if (! (options & FNM_CASEFOLD)) - return ((options & FNM_LEADING_DIR) + if (! (options & FNM_LEADING_DIR)) + return ((options & FNM_CASEFOLD) ? strcasecmp (pattern, f) : strcmp (pattern, f)); else { size_t patlen = strlen (pattern); - int r = ((options & FNM_LEADING_DIR) + int r = ((options & FNM_CASEFOLD) ? strncasecmp (pattern, f, patlen) : strncmp (pattern, f, patlen)); if (! r) { r = f[patlen]; - if (r == '/' && (options & FNM_LEADING_DIR)) + if (r == '/') r = 0; } return r; -- 2.11.0