summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNARUSE, Yui <naruse@airemix.jp>2023-03-09 09:35:39 +0900
committerNARUSE, Yui <naruse@airemix.jp>2023-03-09 09:35:39 +0900
commitdb28f7003f7d49cfa13871c38d10c1967282ca6b (patch)
tree1822bb2fb3013a09f30d134f66688200730ba1cc
parent4e4a4e42b284d9309a7e51c97058093539e7a843 (diff)
downloadruby-db28f7003f7d49cfa13871c38d10c1967282ca6b.tar.gz
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(-)
-rw-r--r--io_buffer.c24
-rw-r--r--version.h2
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 <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]);
+ 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"