summaryrefslogtreecommitdiff
path: root/io_buffer.c
diff options
context:
space:
mode:
Diffstat (limited to 'io_buffer.c')
-rw-r--r--io_buffer.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/io_buffer.c b/io_buffer.c
index d87575bfdd..2b775a8234 100644
--- a/io_buffer.c
+++ b/io_buffer.c
@@ -1180,9 +1180,11 @@ io_buffer_clear(int argc, VALUE *argv, VALUE self)
offset = NUM2SIZET(argv[1]);
}
- size_t length = data->size;
+ size_t length;
if (argc >= 3) {
length = NUM2SIZET(argv[2]);
+ } else {
+ length = data->size - offset;
}
rb_io_buffer_clear(self, value, offset, length);