aboutsummaryrefslogtreecommitdiff
path: root/Array.c
diff options
context:
space:
mode:
authorSyndamia <kamen@syndamia.com>2026-04-21 21:25:08 +0300
committerSyndamia <kamen@syndamia.com>2026-04-21 21:25:08 +0300
commitd5df645c241153b16f47fa4f28298d4996072a67 (patch)
treea641610ed9ab828e99790b6ab5fe5e400f3c1f99 /Array.c
parent3b543388b988702c984d80a35e97ea134d9ed481 (diff)
downloadfoollib-d5df645c241153b16f47fa4f28298d4996072a67.tar
foollib-d5df645c241153b16f47fa4f28298d4996072a67.tar.gz
foollib-d5df645c241153b16f47fa4f28298d4996072a67.zip
fix(A_push): Soft return instead of abort
Diffstat (limited to 'Array.c')
-rw-r--r--Array.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/Array.c b/Array.c
index c97f741..22b836d 100644
--- a/Array.c
+++ b/Array.c
@@ -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);