From a62859dd9ba460f946c37ed1bcf971f0167a3852 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marc=20Andr=C3=A9=20Tanner?= Date: Thu, 19 Nov 2015 22:58:57 +0100 Subject: buffer: add some comments to clarify allocation strategy Closes #116 --- buffer.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'buffer.c') diff --git a/buffer.c b/buffer.c index 6a16a7b..1577e6f 100644 --- a/buffer.c +++ b/buffer.c @@ -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); -- cgit v1.2.3