summaryrefslogtreecommitdiff
path: root/mem.h
diff options
context:
space:
mode:
Diffstat (limited to 'mem.h')
-rw-r--r--mem.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/mem.h b/mem.h
index 84fa4bb..87f817b 100644
--- a/mem.h
+++ b/mem.h
@@ -15,12 +15,12 @@ void *M(State *S, void *ptr, size_t old, size_t new);
// needs len,cap,d fields
#define ENSURE_CAP(S, darr, type, needed) \
- if (darr.cap < needed) { \
+ do { if (darr.cap < needed) { \
size_t __newsz = next_pwrof2(needed); \
if (__newsz < 8) __newsz = 8; \
darr.d = RENEW_ARR(S, darr.d, type, darr.cap, __newsz); \
darr.cap = __newsz; \
- }
+ } } while (0)
size_t next_pwrof2(size_t x);