aboutsummaryrefslogtreecommitdiff
path: root/src/std/buffer.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/std/buffer.c')
-rw-r--r--src/std/buffer.c7
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);