diff options
| author | Syndamia <kamen@syndamia.com> | 2026-04-21 21:25:08 +0300 |
|---|---|---|
| committer | Syndamia <kamen@syndamia.com> | 2026-04-21 21:25:08 +0300 |
| commit | d5df645c241153b16f47fa4f28298d4996072a67 (patch) | |
| tree | a641610ed9ab828e99790b6ab5fe5e400f3c1f99 | |
| parent | 3b543388b988702c984d80a35e97ea134d9ed481 (diff) | |
| download | foollib-d5df645c241153b16f47fa4f28298d4996072a67.tar foollib-d5df645c241153b16f47fa4f28298d4996072a67.tar.gz foollib-d5df645c241153b16f47fa4f28298d4996072a67.zip | |
fix(A_push): Soft return instead of abort
| -rw-r--r-- | Array.c | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -58,8 +58,8 @@ A_push(Array arr, void *value) { if (am->count >= am->length) { if (!B_resizeable(am->b, arr)) - abort(); - B_resize(am->b, sizeof(*am) + am->element_size * (am->length <<= 2)); + return R_OutOfBounds; + RETURN_NOTOK(B_resize(am->b, sizeof(*am) + am->element_size * (am->length <<= 1))); } memcpy(arr + am->count++ * am->element_size, value, am->element_size); |
