summaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorTomoyuki Sahara <[email protected]>2017-05-23 15:09:04 +0900
committerGitHub <[email protected]>2017-05-23 15:09:04 +0900
commit0c0b34136e17b2452e3122f22813ca71d75434fd (patch)
treef4663bb45b31728b203a399e21ca9c60c1a0b45e /src
parent87771ecf920d3fd7bc39ddb82fde040e5158718c (diff)
parentc43795c6648546eecf92e22150b7e478e63e1a31 (diff)
downloadmruby-0c0b34136e17b2452e3122f22813ca71d75434fd.tar.gz
mruby-0c0b34136e17b2452e3122f22813ca71d75434fd.zip
Merge pull request #78 from ksss/syswrite
Should raise SyscallError on IO#syswrite
Diffstat (limited to 'src')
-rw-r--r--src/io.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/io.c b/src/io.c
index 7a1121338..6d1b39cc5 100644
--- a/src/io.c
+++ b/src/io.c
@@ -708,6 +708,9 @@ mrb_io_syswrite(mrb_state *mrb, mrb_value io)
fd = fptr->fd2;
}
length = write(fd, RSTRING_PTR(buf), RSTRING_LEN(buf));
+ if (length == -1) {
+ mrb_sys_fail(mrb, 0);
+ }
return mrb_fixnum_value(length);
}