[Bug #19459] Remove unnecessary always-true checks (#7362)

`length` is a required argument for `IO::Buffer#read` and
`IO::Buffer#write` methods, and `argc` is already checked with
`rb_check_arity`.  Also fix the call-seq of `IO::Buffer#read`.
This commit is contained in:
Nobuyoshi Nakada 2023-02-23 14:40:13 +09:00 committed by GitHub
parent da0e6b99c7
commit 3b567eb491
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
Notes: git 2023-02-23 05:40:37 +00:00
Merged-By: ioquatix <samuel@codeotaku.com>

View File

@ -2415,13 +2415,11 @@ rb_io_buffer_read(VALUE self, VALUE io, size_t length, size_t offset)
}
/*
* call-seq: read(io, [length, [offset]]) -> read length or -errno
* call-seq: read(io, length, [offset]) -> read length or -errno
*
* Read at most +length+ bytes from +io+ into the buffer, starting at
* +offset+. If an error occurs, return <tt>-errno</tt>.
*
* If +length+ is not given, read until the end of the buffer.
*
* If +offset+ is not given, read from the beginning of the buffer.
*
* If +length+ is 0, read nothing.
@ -2447,14 +2445,10 @@ io_buffer_read(int argc, VALUE *argv, VALUE self)
VALUE io = argv[0];
size_t length;
if (argc >= 2) {
if (rb_int_negative_p(argv[1])) {
rb_raise(rb_eArgError, "Length can't be negative!");
}
length = NUM2SIZET(argv[1]);
}
size_t length = NUM2SIZET(argv[1]);
size_t offset = 0;
if (argc >= 3) {
@ -2660,14 +2654,10 @@ io_buffer_write(int argc, VALUE *argv, VALUE self)
VALUE io = argv[0];
size_t length;
if (argc >= 2) {
if (rb_int_negative_p(argv[1])) {
rb_raise(rb_eArgError, "Length can't be negative!");
}
length = NUM2SIZET(argv[1]);
}
size_t length = NUM2SIZET(argv[1]);
size_t offset = 0;
if (argc >= 3) {