From 1e8097a4b895e673846be848feffdd0556041a65 Mon Sep 17 00:00:00 2001 From: Tomoyuki Sahara Date: Sat, 16 Nov 2013 05:12:22 +0900 Subject: IO.sysopen raises an exception when open(2) fails. closes #6. --- src/io.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src/io.c') diff --git a/src/io.c b/src/io.c index 2438a1101..79f72d386 100644 --- a/src/io.c +++ b/src/io.c @@ -396,6 +396,8 @@ mrb_io_s_sysopen(mrb_state *mrb, mrb_value klass) 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)); return mrb_fixnum_value(fd); } -- cgit v1.2.3