summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorTomoyuki Sahara <[email protected]>2014-04-18 11:32:38 +0900
committerTomoyuki Sahara <[email protected]>2014-04-18 11:32:38 +0900
commit7d7a549a4fb546ae3fc5b9a3dca8aae9159edaff (patch)
tree3dc79bd3885e26e482132bfccbfc6a1f3e653216
parent36045ea96fa499681a5773c1148a7ddc6715face (diff)
downloadmruby-7d7a549a4fb546ae3fc5b9a3dca8aae9159edaff.tar.gz
mruby-7d7a549a4fb546ae3fc5b9a3dca8aae9159edaff.zip
remove io_open().
-rw-r--r--src/io.c24
1 files changed, 9 insertions, 15 deletions
diff --git a/src/io.c b/src/io.c
index a61a2e0da..95f379263 100644
--- a/src/io.c
+++ b/src/io.c
@@ -170,18 +170,6 @@ mrb_io_alloc(mrb_state *mrb)
return fptr;
}
-static int
-io_open(mrb_state *mrb, mrb_value path, int flags, int perm)
-{
- const char *pat;
- int modenum;
-
- pat = mrb_string_value_cstr(mrb, &path);
- modenum = mrb_io_flags_to_modenum(mrb, flags);
-
- return open(pat, modenum, perm);
-}
-
#ifndef NOFILE
#define NOFILE 64
#endif
@@ -390,6 +378,8 @@ mrb_io_s_sysopen(mrb_state *mrb, mrb_value klass)
mrb_value path = mrb_nil_value();
mrb_value mode = mrb_nil_value();
mrb_int fd, flags, perm = -1;
+ const char *pat;
+ int modenum;
mrb_get_args(mrb, "S|Si", &path, &mode, &perm);
if (mrb_nil_p(mode)) {
@@ -399,10 +389,14 @@ mrb_io_s_sysopen(mrb_state *mrb, mrb_value klass)
perm = 0666;
}
+ pat = mrb_string_value_cstr(mrb, &path);
flags = mrb_io_modestr_to_flags(mrb, mrb_string_value_cstr(mrb, &mode));
- fd = io_open(mrb, path, flags, perm);
- if (fd == -1)
- mrb_sys_fail(mrb, mrb_str_to_cstr(mrb, path));
+ modenum = mrb_io_flags_to_modenum(mrb, flags);
+
+ fd = open(pat, modenum, perm);
+ if (fd == -1) {
+ mrb_sys_fail(mrb, pat);
+ }
return mrb_fixnum_value(fd);
}