diff options
-rw-r--r-- | include/mingw.h | 2 | ||||
-rw-r--r-- | win32/mingw.c | 13 |
2 files changed, 15 insertions, 0 deletions
diff --git a/include/mingw.h b/include/mingw.h index b5324e49b..9bc5eb018 100644 --- a/include/mingw.h +++ b/include/mingw.h | |||
@@ -271,9 +271,11 @@ mode_t mingw_umask(mode_t mode); | |||
271 | IMPL(fchmod,int,0,int fildes UNUSED_PARAM, mode_t mode UNUSED_PARAM); | 271 | IMPL(fchmod,int,0,int fildes UNUSED_PARAM, mode_t mode UNUSED_PARAM); |
272 | NOIMPL(fchown,int fd UNUSED_PARAM, uid_t uid UNUSED_PARAM, gid_t gid UNUSED_PARAM); | 272 | NOIMPL(fchown,int fd UNUSED_PARAM, uid_t uid UNUSED_PARAM, gid_t gid UNUSED_PARAM); |
273 | int mingw_mkdir(const char *path, int mode); | 273 | int mingw_mkdir(const char *path, int mode); |
274 | int mingw_chdir(const char *path); | ||
274 | int mingw_chmod(const char *path, int mode); | 275 | int mingw_chmod(const char *path, int mode); |
275 | 276 | ||
276 | #define mkdir mingw_mkdir | 277 | #define mkdir mingw_mkdir |
278 | #define chdir mingw_chdir | ||
277 | #define chmod mingw_chmod | 279 | #define chmod mingw_chmod |
278 | 280 | ||
279 | #if ENABLE_LFS && !defined(__MINGW64_VERSION_MAJOR) | 281 | #if ENABLE_LFS && !defined(__MINGW64_VERSION_MAJOR) |
diff --git a/win32/mingw.c b/win32/mingw.c index c42dbed97..b1a8b9711 100644 --- a/win32/mingw.c +++ b/win32/mingw.c | |||
@@ -1159,6 +1159,19 @@ int mingw_mkdir(const char *path, int mode UNUSED_PARAM) | |||
1159 | return ret; | 1159 | return ret; |
1160 | } | 1160 | } |
1161 | 1161 | ||
1162 | #undef chdir | ||
1163 | int mingw_chdir(const char *dirname) | ||
1164 | { | ||
1165 | int ret = -1; | ||
1166 | char *realdir = xmalloc_realpath(dirname); | ||
1167 | |||
1168 | if (realdir) { | ||
1169 | ret = chdir(realdir); | ||
1170 | free(realdir); | ||
1171 | } | ||
1172 | return ret; | ||
1173 | } | ||
1174 | |||
1162 | #undef chmod | 1175 | #undef chmod |
1163 | int mingw_chmod(const char *path, int mode) | 1176 | int mingw_chmod(const char *path, int mode) |
1164 | { | 1177 | { |