summaryrefslogtreecommitdiffhomepage
path: root/src/file_test.c
diff options
context:
space:
mode:
authortakahashim <[email protected]>2015-12-06 00:07:16 +0900
committertakahashim <[email protected]>2015-12-08 00:29:42 +0900
commitdd754220ce2a53f8cf44362a2b2d1f59f40e62d5 (patch)
tree645df51d35e9932b74f6d8503c34a61670cff987 /src/file_test.c
parent68de1e4fc5a124689e3ad975172c77071e4e63dc (diff)
downloadmruby-dd754220ce2a53f8cf44362a2b2d1f59f40e62d5.tar.gz
mruby-dd754220ce2a53f8cf44362a2b2d1f59f40e62d5.zip
Fix for windows(mingw)
* File.expand_path: support drive letter and ALT_SEPARATOR * File.dirname: support ALT_SEPARATOR * File.basename: ditto. * IO.popen: raise NotImplementedError * IO.pipe: ditto. * `cmd`: ditto. * File#flock: ditto. * FileTest.pipe?: ditto. * FileTest.symlink?: ditto. * FileTest.socket?: ditto.
Diffstat (limited to 'src/file_test.c')
-rw-r--r--src/file_test.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/file_test.c b/src/file_test.c
index 6c380c4a5..da2ef77b0 100644
--- a/src/file_test.c
+++ b/src/file_test.c
@@ -128,6 +128,9 @@ mrb_filetest_s_directory_p(mrb_state *mrb, mrb_value klass)
mrb_value
mrb_filetest_s_pipe_p(mrb_state *mrb, mrb_value klass)
{
+#if defined(_WIN32) || defined(_WIN64)
+ mrb_raise(mrb, E_NOTIMP_ERROR, "pipe is not supported on this platform");
+#else
#ifdef S_IFIFO
# ifndef S_ISFIFO
# define S_ISFIFO(m) (((m) & S_IFMT) == S_IFIFO)
@@ -145,6 +148,7 @@ mrb_filetest_s_pipe_p(mrb_state *mrb, mrb_value klass)
#endif
return mrb_false_value();
+#endif
}
/*
@@ -157,6 +161,9 @@ mrb_filetest_s_pipe_p(mrb_state *mrb, mrb_value klass)
mrb_value
mrb_filetest_s_symlink_p(mrb_state *mrb, mrb_value klass)
{
+#if defined(_WIN32) || defined(_WIN64)
+ mrb_raise(mrb, E_NOTIMP_ERROR, "symlink is not supported on this platform");
+#else
#ifndef S_ISLNK
# ifdef _S_ISLNK
# define S_ISLNK(m) _S_ISLNK(m)
@@ -184,6 +191,7 @@ mrb_filetest_s_symlink_p(mrb_state *mrb, mrb_value klass)
#endif
return mrb_false_value();
+#endif
}
/*
@@ -196,6 +204,9 @@ mrb_filetest_s_symlink_p(mrb_state *mrb, mrb_value klass)
mrb_value
mrb_filetest_s_socket_p(mrb_state *mrb, mrb_value klass)
{
+#if defined(_WIN32) || defined(_WIN64)
+ mrb_raise(mrb, E_NOTIMP_ERROR, "socket is not supported on this platform");
+#else
#ifndef S_ISSOCK
# ifdef _S_ISSOCK
# define S_ISSOCK(m) _S_ISSOCK(m)
@@ -223,6 +234,7 @@ mrb_filetest_s_socket_p(mrb_state *mrb, mrb_value klass)
#endif
return mrb_false_value();
+#endif
}
/*