Merge pull request #286 from dscho/unc-alternates

Make alternates work on UNC paths
This commit is contained in:
Johannes Schindelin
2015-09-29 16:45:52 +02:00
3 changed files with 10 additions and 1 deletions

View File

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

View File

@@ -337,6 +337,14 @@ static inline int git_has_dos_drive_prefix(const char *path)
#define has_dos_drive_prefix git_has_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)
{

2
path.c
View File

@@ -681,7 +681,7 @@ int normalize_path_copy_len(char *dst, const char *src, int *prefix_len)
{
char *dst0;
if (has_dos_drive_prefix(src)) {
if (has_unc_prefix(src) || has_dos_drive_prefix(src)) {
*dst++ = *src++;
*dst++ = *src++;
}