From b6b3760e19716c574ca9a0ec0bacfe5518b39f77 Mon Sep 17 00:00:00 2001 From: dec05eba Date: Sat, 25 Jul 2020 14:26:32 +0200 Subject: load function in progress --- src/std/buffer.c | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) (limited to 'src/std') diff --git a/src/std/buffer.c b/src/std/buffer.c index dca3b26..4ec9c29 100644 --- a/src/std/buffer.c +++ b/src/std/buffer.c @@ -33,15 +33,11 @@ static CHECK_RESULT int buffer_ensure_capacity(Buffer *self, usize new_capacity) return BUFFER_OK; capacity = self->capacity; - if(capacity == 0) { - capacity = new_capacity; - } else { - double cap = capacity; - const double new_cap = new_capacity; - while(cap < new_cap) { - cap *= 1.5; - } - capacity = cap; + if(capacity == 0) + capacity = 8; + + while(capacity < new_capacity) { + capacity += (capacity >> 1); } if(am_realloc(self->data, capacity, &new_mem) != ALLOC_OK) -- cgit v1.2.3