1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

array.c: assertion

* array.c (ary_shrink_capa): additional assertion.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41243 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
nobu 2013-06-12 03:00:17 +00:00
parent a5acd8c8d3
commit 6ff25d132d

View file

@ -179,11 +179,12 @@ ary_resize_capa(VALUE ary, long capacity)
} }
} }
static void static inline void
ary_shrink_capa(VALUE ary) ary_shrink_capa(VALUE ary)
{ {
long capacity = ARY_HEAP_LEN(ary); long capacity = ARY_HEAP_LEN(ary);
long old_capa = RARRAY(ary)->as.heap.aux.capa; long old_capa = RARRAY(ary)->as.heap.aux.capa;
assert(!ARY_SHARED_P(ary));
assert(old_capa >= capacity); assert(old_capa >= capacity);
if (old_capa > capacity) if (old_capa > capacity)
REALLOC_N(RARRAY(ary)->as.heap.ptr, VALUE, capacity); REALLOC_N(RARRAY(ary)->as.heap.ptr, VALUE, capacity);