diff options
| author | Yasuhiro Matsumoto <[email protected]> | 2017-12-13 10:09:16 +0900 |
|---|---|---|
| committer | Yasuhiro Matsumoto <[email protected]> | 2017-12-13 10:12:59 +0900 |
| commit | 16c2ac2588d698e18faf0e3311fbdbd4c3f21c31 (patch) | |
| tree | 64e7426d6bff29ce43fcea6033d586afc4d5dd1b /mrbgems/mruby-io/src/file_test.c | |
| parent | e14387440e61016f75d12f19bcb16107e4705f82 (diff) | |
| download | mruby-16c2ac2588d698e18faf0e3311fbdbd4c3f21c31.tar.gz mruby-16c2ac2588d698e18faf0e3311fbdbd4c3f21c31.zip | |
fix path locales
Diffstat (limited to 'mrbgems/mruby-io/src/file_test.c')
| -rw-r--r-- | mrbgems/mruby-io/src/file_test.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/mrbgems/mruby-io/src/file_test.c b/mrbgems/mruby-io/src/file_test.c index da2ef77b0..e429b06b3 100644 --- a/mrbgems/mruby-io/src/file_test.c +++ b/mrbgems/mruby-io/src/file_test.c @@ -63,11 +63,15 @@ 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)) { + char *path = mrb_locale_from_utf8(mrb_str_to_cstr(mrb, obj), -1); + int ret; if (do_lstat) { - return LSTAT(mrb_str_to_cstr(mrb, obj), st); + ret = LSTAT(path, st); } else { - return stat(mrb_str_to_cstr(mrb, obj), st); + ret = stat(path, st); } + mrb_locale_free(path); + return ret; } return -1; |
