From 8954df7110138388d05ae4c1cd17eb054ac848a6 Mon Sep 17 00:00:00 2001 From: TLINDEN Date: Thu, 7 Aug 2014 00:02:05 +0200 Subject: [PATCH] buffer_get_remainder() return pointer to chunk, not allocated copy anymore --- libpcp/buffer.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/libpcp/buffer.c b/libpcp/buffer.c index efb809e..acf445a 100644 --- a/libpcp/buffer.c +++ b/libpcp/buffer.c @@ -176,14 +176,12 @@ size_t buffer_get_chunk_tobuf(Buffer *b, Buffer *dst, size_t len) { } byte *buffer_get_remainder(Buffer *b) { - void *buf = ucmalloc(b->end - b->offset); - if(buffer_get_chunk(b, buf, b->end - b->offset) == 0) { - free(buf); + if(buffer_left(b) == 0) return NULL; - } else { - return buf; - } + byte *buf = b->buf; + return &buf[b->offset]; + } } uint8_t buffer_get8(Buffer *b) {