diff options
Diffstat (limited to 'src/file_test.c')
| -rw-r--r-- | src/file_test.c | 15 |
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); } |
