diff options
| author | Marc André Tanner <mat@brain-dump.org> | 2015-11-19 22:58:57 +0100 |
|---|---|---|
| committer | Marc André Tanner <mat@brain-dump.org> | 2015-11-19 22:58:57 +0100 |
| commit | a62859dd9ba460f946c37ed1bcf971f0167a3852 (patch) | |
| tree | fbef37aaed7c1ef772f5762d9e40fa7b32dc392e /buffer.c | |
| parent | d4246cb8a14c77926a864d6e896b1e46332a16a1 (diff) | |
| download | vis-a62859dd9ba460f946c37ed1bcf971f0167a3852.tar.gz vis-a62859dd9ba460f946c37ed1bcf971f0167a3852.tar.xz | |
buffer: add some comments to clarify allocation strategy
Closes #116
Diffstat (limited to 'buffer.c')
| -rw-r--r-- | buffer.c | 3 |
1 files changed, 3 insertions, 0 deletions
@@ -11,9 +11,12 @@ void buffer_init(Buffer *buf) { } bool buffer_grow(Buffer *buf, size_t size) { + /* ensure minimal buffer size, to avoid repeated realloc(3) calls */ if (size < BUF_SIZE) size = BUF_SIZE; if (buf->size < size) { + /* if this is not the first allocation i.e. the buffer is + * currently full, double the size to avoid memory pressure */ if (buf->size > 0) size *= 2; char *data = realloc(buf->data, size); |
