From 71dd25e14616bd261c3b6c80ff990cd1078266f6 Mon Sep 17 00:00:00 2001 From: Nikias Bassen Date: Mon, 10 Dec 2018 01:40:56 +0100 Subject: bplist: Improve performance and memory usage when writing binary plist --- src/bytearray.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/bytearray.c') diff --git a/src/bytearray.c b/src/bytearray.c index fff5089..7d0549b 100644 --- a/src/bytearray.c +++ b/src/bytearray.c @@ -23,10 +23,10 @@ #define PAGE_SIZE 4096 -bytearray_t *byte_array_new() +bytearray_t *byte_array_new(size_t initial) { bytearray_t *a = (bytearray_t*)malloc(sizeof(bytearray_t)); - a->capacity = PAGE_SIZE * 8; + a->capacity = (initial > PAGE_SIZE) ? (initial+(PAGE_SIZE-1)) & (~(PAGE_SIZE-1)) : PAGE_SIZE; a->data = malloc(a->capacity); a->len = 0; return a; -- cgit v1.1-32-gdbae