diff options
author | Yusuke Nakamura <yusuke1994525@gmail.com> | 2022-11-04 01:13:26 +0900 |
---|---|---|
committer | Peter Zhu <peter@peterzhu.ca> | 2022-11-03 14:40:17 -0400 |
commit | 5344618cb758e351a857d7e71eecc6ac475ce8a7 (patch) | |
tree | 2ee3b6f0482139dd494bc1673d78681990249716 /io_buffer.c | |
parent | 56884b64deeeffb6400060523f8b85211ec99d78 (diff) |
[DOC] Fix IO::Buffer#slice rdoc position
Before this change, rdoc shows empty in 'slice' method section
Notes
Notes:
Merged: https://github.com/ruby/ruby/pull/6668
Diffstat (limited to 'io_buffer.c')
-rw-r--r-- | io_buffer.c | 42 |
1 files changed, 21 insertions, 21 deletions
diff --git a/io_buffer.c b/io_buffer.c index a0d988e259..cbf51250c4 100644 --- a/io_buffer.c +++ b/io_buffer.c @@ -1101,6 +1101,27 @@ io_buffer_validate_range(struct rb_io_buffer *data, size_t offset, size_t length } } +static VALUE +rb_io_buffer_slice(struct rb_io_buffer *data, VALUE self, size_t offset, size_t length) +{ + io_buffer_validate_range(data, offset, length); + + VALUE instance = rb_io_buffer_type_allocate(rb_class_of(self)); + struct rb_io_buffer *slice = NULL; + TypedData_Get_Struct(instance, struct rb_io_buffer, &rb_io_buffer_type, slice); + + slice->base = (char*)data->base + offset; + slice->size = length; + + // The source should be the root buffer: + if (data->source != Qnil) + slice->source = data->source; + else + slice->source = self; + + return instance; +} + /* * call-seq: slice([offset = 0, [length]]) -> io_buffer * @@ -1158,27 +1179,6 @@ io_buffer_validate_range(struct rb_io_buffer *data, size_t offset, size_t length * # => tost */ static VALUE -rb_io_buffer_slice(struct rb_io_buffer *data, VALUE self, size_t offset, size_t length) -{ - io_buffer_validate_range(data, offset, length); - - VALUE instance = rb_io_buffer_type_allocate(rb_class_of(self)); - struct rb_io_buffer *slice = NULL; - TypedData_Get_Struct(instance, struct rb_io_buffer, &rb_io_buffer_type, slice); - - slice->base = (char*)data->base + offset; - slice->size = length; - - // The source should be the root buffer: - if (data->source != Qnil) - slice->source = data->source; - else - slice->source = self; - - return instance; -} - -static VALUE io_buffer_slice(int argc, VALUE *argv, VALUE self) { rb_check_arity(argc, 0, 2); |