• J
    attr.c::path_matches(): special case paths that end with a slash · dc09e9ec
    Junio C Hamano 提交于
    The function is given a string that ends with a slash to signal that
    the path is a directory to make sure that a pattern that ends with a
    slash (i.e. MUSTBEDIR) can tell directories and non-directories
    apart.  However, the pattern itself (pat->pattern and
    pat->patternlen) that came from such a MUSTBEDIR pattern is
    represented as a string that ends with a slash, but patternlen does
    not count that trailing slash. A MUSTBEDIR pattern "element/" is
    represented as a counted string <"element/", 7> and this must match
    match pathname "element/".
    
    Because match_basename() and match_pathname() want to see pathname
    "element" to match against the pattern <"element/", 7>, reduce the
    length of the path to exclude the trailing slash when calling
    these functions.
    Signed-off-by: NJunio C Hamano <gitster@pobox.com>
    Signed-off-by: NJeff King <peff@peff.net>
    Signed-off-by: NJunio C Hamano <gitster@pobox.com>
    dc09e9ec
attr.c 19.8 KB