Merge 'unc-alternates' into HEAD

This commit is contained in:
Johannes Schindelin
2016-10-25 18:09:57 +02:00
3 changed files with 11 additions and 2 deletions

View File

@@ -474,6 +474,7 @@ HANDLE winansi_get_osfhandle(int fd);
(isalpha(*(path)) && (path)[1] == ':' ? 2 : 0)
int mingw_skip_dos_drive_prefix(char **path);
#define skip_dos_drive_prefix mingw_skip_dos_drive_prefix
#define has_unc_prefix(path) (*(path) == '\\' && (path)[1] == '\\' ? 2 : 0)
#define is_dir_sep(c) ((c) == '/' || (c) == '\\')
static inline char *mingw_find_last_dir_sep(const char *path)
{

View File

@@ -383,6 +383,14 @@ static inline int git_skip_dos_drive_prefix(char **path)
#define skip_dos_drive_prefix git_skip_dos_drive_prefix
#endif
#ifndef has_unc_prefix
static inline int git_has_unc_prefix(const char *path)
{
return 0;
}
#define has_unc_prefix git_has_unc_prefix
#endif
#ifndef is_dir_sep
static inline int git_is_dir_sep(int c)
{

4
path.c
View File

@@ -991,9 +991,9 @@ 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;
int i = has_unc_prefix(src);
for (i = has_dos_drive_prefix(src); i > 0; i--)
for (i = i ? i : has_dos_drive_prefix(src); i > 0; i--)
*dst++ = *src++;
dst0 = dst;