| 425 | // size |
| 426 | |
| 427 | void UArray_setSize_(UArray *self, size_t size) { |
| 428 | if (size != self->size) { |
| 429 | size_t oldSizeInBytes = UArray_sizeInBytes(self); |
| 430 | size_t newSizeInBytes = self->itemSize * size; |
| 431 | |
| 432 | #ifdef UARRAY_DEBUG |
| 433 | UArray_checkIfOkToRelloc(self); |
| 434 | #endif |
| 435 | self->data = io_realloc(self->data, newSizeInBytes + 1); |
| 436 | |
| 437 | self->data[newSizeInBytes] = 0x0; |
| 438 | self->size = size; |
| 439 | |
| 440 | if (newSizeInBytes > oldSizeInBytes) { |
| 441 | memset(self->data + oldSizeInBytes, 0, |
| 442 | newSizeInBytes - oldSizeInBytes); |
| 443 | } |
| 444 | |
| 445 | UArray_changed(self); |
| 446 | } |
| 447 | } |
| 448 | |
| 449 | size_t UArray_size(const UArray *self) { return self->size; } |
| 450 |
no test coverage detected