* Replaced compress/uncompress inline code (encode_zip/decode_zip) with the respective zlib library calls while keeping 3rdparty calls inside common code (follow up to r14888, related r14808).

git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@14891 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
ai4rei 2011-07-07 09:31:43 +00:00
parent 7e4a0b3266
commit 8a08767917
2 changed files with 4 additions and 54 deletions

View File

@ -1,5 +1,7 @@
Date Added
2011/07/07
* Replaced compress/uncompress inline code (encode_zip/decode_zip) with the respective zlib library calls while keeping 3rdparty calls inside common code (follow up to r14888, related r14808). [Ai4rei]
2011/07/06
* Changed grfio.c include order and moved zlib include from the header to the source. [FlavioJS]
* Merged decode_zip/encode_zip from eapp's grfio to replace our direct use of zlib's uncompress/compress.

View File

@ -225,33 +225,7 @@ unsigned long grfio_crc32 (const unsigned char* buf, unsigned int len)
/// Grf data sub : zip decode
int decode_zip(unsigned char* dest, unsigned long* destLen, const unsigned char* source, unsigned long sourceLen)
{
z_stream stream;
int err;
stream.next_in = (Bytef*)source;
stream.avail_in = (uInt)sourceLen;
// Check for source > 64K on 16-bit machine:
if ((uLong)stream.avail_in != sourceLen) return Z_BUF_ERROR;
stream.next_out = (Bytef*) dest;
stream.avail_out = (uInt)*destLen;
if ((unsigned long)stream.avail_out != *destLen) return Z_BUF_ERROR;
stream.zalloc = (alloc_func)0;
stream.zfree = (free_func)0;
err = inflateInit(&stream);
if (err != Z_OK) return err;
err = inflate(&stream, Z_FINISH);
if (err != Z_STREAM_END) {
inflateEnd(&stream);
return err == Z_OK ? Z_BUF_ERROR : err;
}
*destLen = stream.total_out;
err = inflateEnd(&stream);
return err;
return uncompress(dest, destLen, source, sourceLen);
}
@ -259,33 +233,7 @@ int decode_zip(unsigned char* dest, unsigned long* destLen, const unsigned char*
/// Grf data sub : zip encode
int encode_zip(unsigned char* dest, unsigned long* destLen, const unsigned char* source, unsigned long sourceLen)
{
z_stream stream;
int err;
stream.next_in = (Bytef*)source;
stream.avail_in = (uInt)sourceLen;
// Check for source > 64K on 16-bit machine:
if ((uLong)stream.avail_in != sourceLen) return Z_BUF_ERROR;
stream.next_out = (Bytef*) dest;
stream.avail_out = (uInt)*destLen;
if ((uLong)stream.avail_out != *destLen) return Z_BUF_ERROR;
stream.zalloc = (alloc_func)0;
stream.zfree = (free_func)0;
err = deflateInit(&stream,Z_DEFAULT_COMPRESSION);
if (err != Z_OK) return err;
err = deflate(&stream, Z_FINISH);
if (err != Z_STREAM_END) {
deflateEnd(&stream);
return err == Z_OK ? Z_BUF_ERROR : err;
}
*destLen = stream.total_out;
err = deflateEnd(&stream);
return err;
return compress(dest, destLen, source, sourceLen);
}