summaryrefslogtreecommitdiffhomepage
path: root/mrbgems/mruby-io/src
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2020-08-11 16:02:05 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2020-08-11 16:02:05 +0900
commitcfaaf7c6d4dff29e631b3b6534e5d57720f1972b (patch)
treedc6c98ca47c5c2794610293daddbb202b1b41390 /mrbgems/mruby-io/src
parent5210482c59156b68f078d25cef1cb97a86e4aabb (diff)
downloadmruby-cfaaf7c6d4dff29e631b3b6534e5d57720f1972b.tar.gz
mruby-cfaaf7c6d4dff29e631b3b6534e5d57720f1972b.zip
Should use `_fstat32()` on 32bit Windows.
Diffstat (limited to 'mrbgems/mruby-io/src')
-rw-r--r--mrbgems/mruby-io/src/file.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/mrbgems/mruby-io/src/file.c b/mrbgems/mruby-io/src/file.c
index 5a199391b..16ed6fc59 100644
--- a/mrbgems/mruby-io/src/file.c
+++ b/mrbgems/mruby-io/src/file.c
@@ -70,6 +70,10 @@
typedef struct stat mrb_stat;
# define mrb_stat(path, sb) stat(path, sb)
# define mrb_fstat(fd, sb) fstat(fd, sb)
+#elif defined MRB_INT32
+typedef struct __stat32 mrb_stat;
+# define mrb_stat(path, sb) _stat32(path, sb)
+# define mrb_fstat(fd, sb) _fstat32(fd, sb)
#else
typedef struct __stat64 mrb_stat;
# define mrb_stat(path, sb) _stat64(path, sb)
@@ -393,7 +397,7 @@ mrb_file_mtime(mrb_state *mrb, mrb_value self)
int fd = mrb_io_fileno(mrb, self);
struct stat st;
- if (fstat(fd, &st) == -1)
+ if (mrb_fstat(fd, &st) == -1)
return mrb_false_value();
return mrb_fixnum_value((mrb_int)st.st_mtime);
}