uint32_t old_size = old_n * region_size;
uint32_t new_size = old_size + region_size;
char * new_array = try_malloc(new_size, __func__);
memcpy(new_array, * ptr_old_array, old_size);
memcpy(new_array + (old_n * region_size), new_region, region_size);
free(* ptr_old_array);
uint32_t old_size = old_n * region_size;
uint32_t new_size = old_size + region_size;
char * new_array = try_malloc(new_size, __func__);
memcpy(new_array, * ptr_old_array, old_size);
memcpy(new_array + (old_n * region_size), new_region, region_size);
free(* ptr_old_array);