THRIFT-402. rb: MemoryBuffer > 4096 bytes will truncate remaining bytes
This patch fixes the issue, preserving the remaining bytes.
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@758024 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/lib/rb/ext/memory_buffer.c b/lib/rb/ext/memory_buffer.c
index bf11d91..e37c787 100644
--- a/lib/rb/ext/memory_buffer.c
+++ b/lib/rb/ext/memory_buffer.c
@@ -49,7 +49,7 @@
index = RSTRING(buf)->len;
}
if (index >= GARBAGE_BUFFER_SIZE) {
- rb_ivar_set(self, buf_ivar_id, rb_funcall(buf, slice_method_id, 2, INT2FIX(index), INT2FIX(-1)));
+ rb_ivar_set(self, buf_ivar_id, rb_funcall(buf, slice_method_id, 2, INT2FIX(index), INT2FIX(RSTRING(buf)->len - 1)));
index = 0;
}