Merge branch 'js/dirname-basename' into maint
dirname() emulation has been added, as Msys2 lacks it. * js/dirname-basename: mingw: avoid linking to the C library's isalpha() t0060: loosen overly strict expectations t0060: verify that basename() and dirname() work as expected compat/basename.c: provide a dirname() compatibility function compat/basename: make basename() conform to POSIX Refactor skipping DOS drive prefixes
This commit is contained in:
14
path.c
14
path.c
@ -782,13 +782,10 @@ const char *relative_path(const char *in, const char *prefix,
|
||||
else if (!prefix_len)
|
||||
return in;
|
||||
|
||||
if (have_same_root(in, prefix)) {
|
||||
if (have_same_root(in, prefix))
|
||||
/* bypass dos_drive, for "c:" is identical to "C:" */
|
||||
if (has_dos_drive_prefix(in)) {
|
||||
i = 2;
|
||||
j = 2;
|
||||
}
|
||||
} else {
|
||||
i = j = has_dos_drive_prefix(in);
|
||||
else {
|
||||
return in;
|
||||
}
|
||||
|
||||
@ -943,11 +940,10 @@ const char *remove_leading_path(const char *in, const char *prefix)
|
||||
int normalize_path_copy_len(char *dst, const char *src, int *prefix_len)
|
||||
{
|
||||
char *dst0;
|
||||
int i;
|
||||
|
||||
if (has_dos_drive_prefix(src)) {
|
||||
for (i = has_dos_drive_prefix(src); i > 0; i--)
|
||||
*dst++ = *src++;
|
||||
*dst++ = *src++;
|
||||
}
|
||||
dst0 = dst;
|
||||
|
||||
if (is_dir_sep(*src)) {
|
||||
|
Reference in New Issue
Block a user