aboutsummaryrefslogtreecommitdiff
path: root/win32/mingw.c
diff options
context:
space:
mode:
Diffstat (limited to 'win32/mingw.c')
-rw-r--r--win32/mingw.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/win32/mingw.c b/win32/mingw.c
index 4b5701b2d..fe45589c2 100644
--- a/win32/mingw.c
+++ b/win32/mingw.c
@@ -228,6 +228,7 @@ static int do_lstat(int follow, const char *file_name, struct mingw_stat *buf)
228{ 228{
229 int err; 229 int err;
230 WIN32_FILE_ATTRIBUTE_DATA fdata; 230 WIN32_FILE_ATTRIBUTE_DATA fdata;
231 mode_t usermode;
231 232
232 if (!(err = get_file_attr(file_name, &fdata))) { 233 if (!(err = get_file_attr(file_name, &fdata))) {
233 int len = strlen(file_name); 234 int len = strlen(file_name);
@@ -265,6 +266,8 @@ static int do_lstat(int follow, const char *file_name, struct mingw_stat *buf)
265 FindClose(handle); 266 FindClose(handle);
266 } 267 }
267 } 268 }
269 usermode = buf->st_mode & S_IRWXU;
270 buf->st_mode |= (usermode >> 3) | ((usermode >> 6) & ~S_IWOTH);
268 271
269 /* 272 /*
270 * Assume a block is 4096 bytes and calculate number of 512 byte 273 * Assume a block is 4096 bytes and calculate number of 512 byte