Sync with 2.31.2
* maint-2.31: Git 2.31.2 Git 2.30.3 setup_git_directory(): add an owner check for the top-level directory Add a function to determine whether a path is owned by the current user
This commit is contained in:
14
path.c
14
path.c
@ -1218,11 +1218,15 @@ int longest_ancestor_length(const char *path, struct string_list *prefixes)
|
||||
const char *ceil = prefixes->items[i].string;
|
||||
int len = strlen(ceil);
|
||||
|
||||
if (len == 1 && ceil[0] == '/')
|
||||
len = 0; /* root matches anything, with length 0 */
|
||||
else if (!strncmp(path, ceil, len) && path[len] == '/')
|
||||
; /* match of length len */
|
||||
else
|
||||
/*
|
||||
* For root directories (`/`, `C:/`, `//server/share/`)
|
||||
* adjust the length to exclude the trailing slash.
|
||||
*/
|
||||
if (len > 0 && ceil[len - 1] == '/')
|
||||
len--;
|
||||
|
||||
if (strncmp(path, ceil, len) ||
|
||||
path[len] != '/' || !path[len + 1])
|
||||
continue; /* no match */
|
||||
|
||||
if (len > max_len)
|
||||
|
Reference in New Issue
Block a user