Allow a number of extra bytes in the allocForXXX() methods.

committer: mfx <mfx> 1042575213 +0000
This commit is contained in:
Markus F.X.J. Oberhumer 2003-01-14 20:13:33 +00:00
parent e1da733810
commit e31c45dc10
2 changed files with 9 additions and 7 deletions

View File

@ -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
}

View File

@ -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();