From: Nguyễn Thái Ngọc Duy Date: Sun, 23 Aug 2015 12:50:13 GMT Subject: [PATCH 1/2] dir.c: make last_exclude_matching_from_list() run til the end Message-ID: <1440334214-32131-2-git-send-email-pclouds@gmail.com> In-Reply-To: <1440334214-32131-1-git-send-email-pclouds@gmail.com> Signed-off-by: Nguyễn Thái Ngọc Duy --- dir.c | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/dir.c b/dir.c index c00c7e2..3a7630a 100644 --- a/dir.c +++ b/dir.c @@ -901,6 +901,7 @@ static struct exclude *last_exclude_matching_from_list(const char *pathname, int *dtype, struct exclude_list *el) { + struct exclude *exc = NULL; /* undecided */ int i; if (!el->nr) @@ -922,18 +923,22 @@ static struct exclude *last_exclude_matching_from_list(const char *pathname, if (match_basename(basename, pathlen - (basename - pathname), exclude, prefix, x->patternlen, - x->flags)) - return x; + x->flags)) { + exc = x; + break; + } continue; } assert(x->baselen == 0 || x->base[x->baselen - 1] == '/'); if (match_pathname(pathname, pathlen, x->base, x->baselen ? x->baselen - 1 : 0, - exclude, prefix, x->patternlen, x->flags)) - return x; + exclude, prefix, x->patternlen, x->flags)) { + exc = x; + break; + } } - return NULL; /* undecided */ + return exc; } /* -- 2.3.0.rc1.137.g477eb31