| 780 cx_array_list *arl = (cx_array_list *) list; |
788 cx_array_list *arl = (cx_array_list *) list; |
| 781 |
789 |
| 782 // guarantee enough capacity |
790 // guarantee enough capacity |
| 783 if (arl->capacity < list->collection.size + n) { |
791 if (arl->capacity < list->collection.size + n) { |
| 784 size_t new_capacity = list->collection.size + n; |
792 size_t new_capacity = list->collection.size + n; |
| 785 new_capacity = new_capacity - (new_capacity % 16) + 16; |
793 new_capacity = cx_array_align_capacity(new_capacity, 16, SIZE_MAX); |
| 786 if (cxReallocateArray( |
794 if (cxReallocateArray( |
| 787 list->collection.allocator, |
795 list->collection.allocator, |
| 788 &arl->data, new_capacity, |
796 &arl->data, new_capacity, |
| 789 list->collection.elem_size) |
797 list->collection.elem_size) |
| 790 ) { |
798 ) { |