aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/mingw.h2
-rw-r--r--win32/mingw.c13
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);
271IMPL(fchmod,int,0,int fildes UNUSED_PARAM, mode_t mode UNUSED_PARAM); 271IMPL(fchmod,int,0,int fildes UNUSED_PARAM, mode_t mode UNUSED_PARAM);
272NOIMPL(fchown,int fd UNUSED_PARAM, uid_t uid UNUSED_PARAM, gid_t gid UNUSED_PARAM); 272NOIMPL(fchown,int fd UNUSED_PARAM, uid_t uid UNUSED_PARAM, gid_t gid UNUSED_PARAM);
273int mingw_mkdir(const char *path, int mode); 273int mingw_mkdir(const char *path, int mode);
274int mingw_chdir(const char *path);
274int mingw_chmod(const char *path, int mode); 275int 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
1163int 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
1163int mingw_chmod(const char *path, int mode) 1176int mingw_chmod(const char *path, int mode)
1164{ 1177{