diff options
Diffstat (limited to 'src/std/buffer.c')
-rw-r--r-- | src/std/buffer.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/std/buffer.c b/src/std/buffer.c index 93e8558..a482bb9 100644 --- a/src/std/buffer.c +++ b/src/std/buffer.c @@ -37,9 +37,12 @@ static CHECK_RESULT int buffer_ensure_capacity(Buffer *self, usize new_capacity) if(capacity == 0) { capacity = new_capacity; } else { - while(capacity < new_capacity) { - capacity *= 1.5; + double cap = capacity; + const double new_cap = new_capacity; + while(cap < new_cap) { + cap *= 1.5; } + capacity = cap; } alloc_result = am_realloc(self->data, capacity, &new_mem); |