Unverified Commit 0bbd60b5 authored by ksss's avatar ksss

IO#sysread should raise error when invalid pos

parent 86edc9ab
...@@ -623,7 +623,7 @@ mrb_io_sysread(mrb_state *mrb, mrb_value io) ...@@ -623,7 +623,7 @@ mrb_io_sysread(mrb_state *mrb, mrb_value io)
mrb_get_args(mrb, "i|S", &maxlen, &buf); mrb_get_args(mrb, "i|S", &maxlen, &buf);
if (maxlen < 0) { if (maxlen < 0) {
return mrb_nil_value(); mrb_raise(mrb, E_ARGUMENT_ERROR, "negative expanding string size");
} }
else if (maxlen == 0) { else if (maxlen == 0) {
return mrb_str_new(mrb, NULL, maxlen); return mrb_str_new(mrb, NULL, maxlen);
......
...@@ -236,6 +236,7 @@ assert('IO.sysopen, IO#sysread') do ...@@ -236,6 +236,7 @@ assert('IO.sysopen, IO#sysread') do
io.close io.close
assert_equal "", io.sysread(0) assert_equal "", io.sysread(0)
assert_raise(IOError) { io.sysread(1) } assert_raise(IOError) { io.sysread(1) }
assert_raise(ArgumentError) { io.sysread(-1) }
io.closed? io.closed?
end end
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment