From e31c45dc10f237d556a8ea30f39425fc8efe73cd Mon Sep 17 00:00:00 2001 From: "Markus F.X.J. Oberhumer" Date: Tue, 14 Jan 2003 20:13:33 +0000 Subject: [PATCH] Allow a number of extra bytes in the allocForXXX() methods. committer: mfx 1042575213 +0000 --- src/mem.cpp | 12 +++++++----- src/mem.h | 4 ++-- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/src/mem.cpp b/src/mem.cpp index 45cbc769..764974bc 100644 --- a/src/mem.cpp +++ b/src/mem.cpp @@ -90,18 +90,20 @@ void MemBuffer::alloc(unsigned size) } -void MemBuffer::allocForCompression(unsigned uncompressed_size) +void MemBuffer::allocForCompression(unsigned uncompressed_size, unsigned extra) { assert((int)uncompressed_size > 0); - alloc(uncompressed_size + uncompressed_size/8 + 256, 0); + assert((int)extra >= 0); + alloc(uncompressed_size + uncompressed_size/8 + 256 + extra, 0); } -void MemBuffer::allocForUncompression(unsigned uncompressed_size) +void MemBuffer::allocForUncompression(unsigned uncompressed_size, unsigned extra) { assert((int)uncompressed_size > 0); - //alloc(uncompressed_size + 3 + 512, 0); // 512 safety bytes - alloc(uncompressed_size + 3, 0); // 3 bytes for asm_fast decompresion + assert((int)extra >= 0); + //alloc(uncompressed_size + 3 + 512 + extra, 0); // 512 safety bytes + alloc(uncompressed_size + 3 + extra, 0); // 3 bytes for asm_fast decompresion } diff --git a/src/mem.h b/src/mem.h index d3dcb0bc..dd6d1b87 100644 --- a/src/mem.h +++ b/src/mem.h @@ -41,8 +41,8 @@ public: ~MemBuffer(); void alloc(unsigned size); - void allocForCompression(unsigned uncompressed_size); - void allocForUncompression(unsigned uncompressed_size); + void allocForCompression(unsigned uncompressed_size, unsigned extra=0); + void allocForUncompression(unsigned uncompressed_size, unsigned extra=0); void dealloc();