diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | array.c | 4 |
2 files changed, 7 insertions, 2 deletions
@@ -1,3 +1,8 @@ +Mon Jul 22 13:19:22 2013 Koichi Sasada <ko1@atdot.net> + + * array.c (ary_resize_capa): use RARRAY_RAWPTR() because + this code creates no new references. + Mon Jul 22 12:58:18 2013 Koichi Sasada <ko1@atdot.net> * array.c (ary_memfill): added. @@ -263,12 +263,12 @@ ary_resize_capa(VALUE ary, long capacity) else { if (!ARY_EMBED_P(ary)) { long len = RARRAY_LEN(ary); - VALUE *ptr = RARRAY_PTR(ary); + const VALUE *ptr = RARRAY_RAWPTR(ary); if (len > capacity) len = capacity; MEMCPY((VALUE *)RARRAY(ary)->as.ary, ptr, VALUE, len); FL_SET_EMBED(ary); ARY_SET_LEN(ary, len); - xfree(ptr); + xfree((VALUE *)ptr); } } } |