From c6bcb05a4e2937374234dec05c6e8f30a711ebe9 Mon Sep 17 00:00:00 2001 From: Bruce Hill Date: Mon, 2 Dec 2024 15:21:29 -0500 Subject: Further bugfix for array concatenation --- stdlib/arrays.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'stdlib') diff --git a/stdlib/arrays.c b/stdlib/arrays.c index c8d7777c..c740a1c7 100644 --- a/stdlib/arrays.c +++ b/stdlib/arrays.c @@ -485,11 +485,12 @@ public Array_t Array$concat(Array_t x, Array_t y, int64_t padded_item_size) memcpy(data + i*padded_item_size, x.data + i*padded_item_size, (size_t)padded_item_size); } + void *dest = data + padded_item_size*x.length; if (y.stride == padded_item_size) { - memcpy(data + padded_item_size*x.length, y.data, (size_t)(padded_item_size*y.length)); + memcpy(dest, y.data, (size_t)(padded_item_size*y.length)); } else { for (int64_t i = 0; i < y.length; i++) - memcpy(data + (x.length + i)*padded_item_size, y.data + i*padded_item_size, (size_t)padded_item_size); + memcpy(dest + i*padded_item_size, y.data + i*y.stride, (size_t)padded_item_size); } return (Array_t){ -- cgit v1.2.3