diff options
Diffstat (limited to 'compat')
-rw-r--r-- | compat/mingw.c | 13 | ||||
-rw-r--r-- | compat/mingw.h | 9 |
2 files changed, 22 insertions, 0 deletions
diff --git a/compat/mingw.c b/compat/mingw.c index 075448d245..4e559bdc93 100644 --- a/compat/mingw.c +++ b/compat/mingw.c @@ -40,6 +40,19 @@ struct tm *localtime_r(const time_t *timep, struct tm *result) return result; } +#undef getcwd +char *mingw_getcwd(char *pointer, int len) +{ + int i; + char *ret = getcwd(pointer, len); + if (!ret) + return ret; + for (i = 0; pointer[i]; i++) + if (pointer[i] == '\\') + pointer[i] = '/'; + return ret; +} + struct passwd *getpwuid(int uid) { static struct passwd p; diff --git a/compat/mingw.h b/compat/mingw.h index 22aae0077e..a954014ff2 100644 --- a/compat/mingw.h +++ b/compat/mingw.h @@ -134,7 +134,16 @@ int setitimer(int type, struct itimerval *in, struct itimerval *out); int sigaction(int sig, struct sigaction *in, struct sigaction *out); /* + * replacements of existing functions + */ + +char *mingw_getcwd(char *pointer, int len); +#define getcwd mingw_getcwd + +/* * git specific compatibility */ +#define has_dos_drive_prefix(path) (isalpha(*(path)) && (path)[1] == ':') +#define is_dir_sep(c) ((c) == '/' || (c) == '\\') #define PATH_SEP ';' |