void buffer_reserve(buffer *b, size_t capacity) { void *data; if (capacity > b->capacity) { capacity = buffer_roundup(capacity); data = realloc(b->data, capacity); buffer_assert(data != NULL); b->data = data; b->capacity = capacity; } }
int buffer_reserve(buffer *b, size_t capacity) { char *data; if (capacity > b->capacity) { capacity = buffer_roundup(capacity); data = realloc(b->data, capacity); if (!data) return -1; b->data = data; b->capacity = capacity; } return 0; }