diff options
Diffstat (limited to 'third_party/git/compat/win32')
-rw-r--r-- | third_party/git/compat/win32/path-utils.c | 24 | ||||
-rw-r--r-- | third_party/git/compat/win32/path-utils.h | 10 | ||||
-rw-r--r-- | third_party/git/compat/win32/pthread.h | 8 |
3 files changed, 6 insertions, 36 deletions
diff --git a/third_party/git/compat/win32/path-utils.c b/third_party/git/compat/win32/path-utils.c index ebf2f12eb666..d9d3641de857 100644 --- a/third_party/git/compat/win32/path-utils.c +++ b/third_party/git/compat/win32/path-utils.c @@ -1,29 +1,5 @@ #include "../../git-compat-util.h" -int win32_has_dos_drive_prefix(const char *path) -{ - int i; - - /* - * Does it start with an ASCII letter (i.e. highest bit not set), - * followed by a colon? - */ - if (!(0x80 & (unsigned char)*path)) - return *path && path[1] == ':' ? 2 : 0; - - /* - * While drive letters must be letters of the English alphabet, it is - * possible to assign virtually _any_ Unicode character via `subst` as - * a drive letter to "virtual drives". Even `1`, or `ä`. Or fun stuff - * like this: - * - * subst ֍: %USERPROFILE%\Desktop - */ - for (i = 1; i < 4 && (0x80 & (unsigned char)path[i]); i++) - ; /* skip first UTF-8 character */ - return path[i] == ':' ? i + 1 : 0; -} - int win32_skip_dos_drive_prefix(char **path) { int ret = has_dos_drive_prefix(*path); diff --git a/third_party/git/compat/win32/path-utils.h b/third_party/git/compat/win32/path-utils.h index f2e70872cd20..0f70d439204f 100644 --- a/third_party/git/compat/win32/path-utils.h +++ b/third_party/git/compat/win32/path-utils.h @@ -1,9 +1,5 @@ -#ifndef WIN32_PATH_UTILS_H -#define WIN32_PATH_UTILS_H - -int win32_has_dos_drive_prefix(const char *path); -#define has_dos_drive_prefix win32_has_dos_drive_prefix - +#define has_dos_drive_prefix(path) \ + (isalpha(*(path)) && (path)[1] == ':' ? 2 : 0) int win32_skip_dos_drive_prefix(char **path); #define skip_dos_drive_prefix win32_skip_dos_drive_prefix static inline int win32_is_dir_sep(int c) @@ -22,5 +18,3 @@ static inline char *win32_find_last_dir_sep(const char *path) #define find_last_dir_sep win32_find_last_dir_sep int win32_offset_1st_component(const char *path); #define offset_1st_component win32_offset_1st_component - -#endif diff --git a/third_party/git/compat/win32/pthread.h b/third_party/git/compat/win32/pthread.h index 737983d00bae..c6cb8dd21900 100644 --- a/third_party/git/compat/win32/pthread.h +++ b/third_party/git/compat/win32/pthread.h @@ -50,8 +50,8 @@ typedef struct { DWORD tid; } pthread_t; -int pthread_create(pthread_t *thread, const void *unused, - void *(*start_routine)(void*), void *arg); +extern int pthread_create(pthread_t *thread, const void *unused, + void *(*start_routine)(void*), void *arg); /* * To avoid the need of copying a struct, we use small macro wrapper to pass @@ -59,10 +59,10 @@ int pthread_create(pthread_t *thread, const void *unused, */ #define pthread_join(a, b) win32_pthread_join(&(a), (b)) -int win32_pthread_join(pthread_t *thread, void **value_ptr); +extern int win32_pthread_join(pthread_t *thread, void **value_ptr); #define pthread_equal(t1, t2) ((t1).tid == (t2).tid) -pthread_t pthread_self(void); +extern pthread_t pthread_self(void); static inline void NORETURN pthread_exit(void *ret) { |