dir.c: make last_exclude_matching_from_list() run til the end

The next patch adds some post processing to the result value before it's
returned to the caller. Keep all branches reach the end of the function,
so we can do it all in one place.

Signed-off-by: Nguyễn Thái Ngọc Duy <pclouds@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
Nguyễn Thái Ngọc Duy 2015-09-21 16:56:14 +07:00 коммит произвёл Junio C Hamano
Родитель ecad27cf98
Коммит e6efecc46a
1 изменённых файлов: 10 добавлений и 5 удалений

15
dir.c
Просмотреть файл

@ -752,6 +752,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)
@ -773,18 +774,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;
}
/*