dir.c: get rid of the wildcard symbol set in no_wildcard()
Elsewhere in this file is_glob_special() is also used to check for wildcards, which is defined in ctype. Make no_wildcard() also use this function (indirectly via simple_length()) 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:
parent
35a94d44af
commit
fcd631ed84
32
dir.c
32
dir.c
@ -288,9 +288,24 @@ int match_pathspec_depth(const struct pathspec *ps,
|
||||
return retval;
|
||||
}
|
||||
|
||||
/*
|
||||
* Return the length of the "simple" part of a path match limiter.
|
||||
*/
|
||||
static int simple_length(const char *match)
|
||||
{
|
||||
int len = -1;
|
||||
|
||||
for (;;) {
|
||||
unsigned char c = *match++;
|
||||
len++;
|
||||
if (c == '\0' || is_glob_special(c))
|
||||
return len;
|
||||
}
|
||||
}
|
||||
|
||||
static int no_wildcard(const char *string)
|
||||
{
|
||||
return string[strcspn(string, "*?[{\\")] == '\0';
|
||||
return string[simple_length(string)] == '\0';
|
||||
}
|
||||
|
||||
void add_exclude(const char *string, const char *base,
|
||||
@ -997,21 +1012,6 @@ static int cmp_name(const void *p1, const void *p2)
|
||||
e2->name, e2->len);
|
||||
}
|
||||
|
||||
/*
|
||||
* Return the length of the "simple" part of a path match limiter.
|
||||
*/
|
||||
static int simple_length(const char *match)
|
||||
{
|
||||
int len = -1;
|
||||
|
||||
for (;;) {
|
||||
unsigned char c = *match++;
|
||||
len++;
|
||||
if (c == '\0' || is_glob_special(c))
|
||||
return len;
|
||||
}
|
||||
}
|
||||
|
||||
static struct path_simplify *create_simplify(const char **pathspec)
|
||||
{
|
||||
int nr, alloc = 0;
|
||||
|
Loading…
x
Reference in New Issue
Block a user