From db28f7003f7d49cfa13871c38d10c1967282ca6b Mon Sep 17 00:00:00 2001 From: "NARUSE, Yui" Date: Thu, 9 Mar 2023 09:35:39 +0900 Subject: [PATCH] merge revision(s) 3b567eb491e460e00a66fdea8054eeb083b5dafd: [Backport #19459] [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`. --- io_buffer.c | 24 +++++++----------------- 1 file changed, 7 insertions(+), 17 deletions(-) --- io_buffer.c | 24 +++++++----------------- version.h | 2 +- 2 files changed, 8 insertions(+), 18 deletions(-) diff --git a/io_buffer.c b/io_buffer.c index c5f0b193c3..6a6bc25628 100644 --- a/io_buffer.c +++ b/io_buffer.c @@ -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 -errno. * - * 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]); + if (rb_int_negative_p(argv[1])) { + rb_raise(rb_eArgError, "Length can't be negative!"); } + 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]); + if (rb_int_negative_p(argv[1])) { + rb_raise(rb_eArgError, "Length can't be negative!"); } + size_t length = NUM2SIZET(argv[1]); size_t offset = 0; if (argc >= 3) { diff --git a/version.h b/version.h index f32fd8a223..75e081cf3c 100644 --- a/version.h +++ b/version.h @@ -11,7 +11,7 @@ # define RUBY_VERSION_MINOR RUBY_API_VERSION_MINOR #define RUBY_VERSION_TEENY 1 #define RUBY_RELEASE_DATE RUBY_RELEASE_YEAR_STR"-"RUBY_RELEASE_MONTH_STR"-"RUBY_RELEASE_DAY_STR -#define RUBY_PATCHLEVEL 38 +#define RUBY_PATCHLEVEL 39 #include "ruby/version.h" #include "ruby/internal/abi.h"