summaryrefslogtreecommitdiffhomepage
path: root/src/file_test.c
diff options
context:
space:
mode:
authorTomoyuki Sahara <[email protected]>2014-03-14 10:41:56 +0900
committerTomoyuki Sahara <[email protected]>2014-03-14 10:41:56 +0900
commit14031bdf44c255ecce805bb998b2f0d1e4dfe5a8 (patch)
tree7072f0f19ef8762ae3af6478dad3b35ba67bb858 /src/file_test.c
parentf7c054bd39f0809641ab474771f0f85a5282c72e (diff)
parent39bd240116b2980f90f9d8f350e18311959db54b (diff)
downloadmruby-14031bdf44c255ecce805bb998b2f0d1e4dfe5a8.tar.gz
mruby-14031bdf44c255ecce805bb998b2f0d1e4dfe5a8.zip
Merge pull request #11 from pbosetti/master
Can build on VisualStudio, revised.
Diffstat (limited to 'src/file_test.c')
-rw-r--r--src/file_test.c15
1 files changed, 10 insertions, 5 deletions
diff --git a/src/file_test.c b/src/file_test.c
index cb1f6229d..37b139c78 100644
--- a/src/file_test.c
+++ b/src/file_test.c
@@ -15,13 +15,18 @@
#include "mruby/error.h"
#endif
-#include <sys/file.h>
-#include <libgen.h>
+#if defined(_WIN32) || defined(_WIN64)
+ #define LSTAT stat
+#else
+ #define LSTAT lstat
+ #include <sys/file.h>
+ #include <libgen.h>
+ #include <pwd.h>
+ #include <sys/param.h>
+#endif
#include <limits.h>
#include <stdlib.h>
#include <string.h>
-#include <sys/param.h>
-#include <pwd.h>
extern struct mrb_data_type mrb_io_type;
@@ -50,7 +55,7 @@ mrb_stat0(mrb_state *mrb, mrb_value obj, struct stat *st, int do_lstat)
tmp = mrb_funcall(mrb, obj, "is_a?", 1, str_klass);
if (mrb_test(tmp)) {
if (do_lstat) {
- return lstat(mrb_str_to_cstr(mrb, obj), st);
+ return LSTAT(mrb_str_to_cstr(mrb, obj), st);
} else {
return stat(mrb_str_to_cstr(mrb, obj), st);
}