* 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:
parent
7e4a0b3266
commit
8a08767917
@ -1,5 +1,7 @@
|
|||||||
Date Added
|
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
|
2011/07/06
|
||||||
* Changed grfio.c include order and moved zlib include from the header to the source. [FlavioJS]
|
* 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.
|
* Merged decode_zip/encode_zip from eapp's grfio to replace our direct use of zlib's uncompress/compress.
|
||||||
|
@ -225,33 +225,7 @@ unsigned long grfio_crc32 (const unsigned char* buf, unsigned int len)
|
|||||||
/// Grf data sub : zip decode
|
/// Grf data sub : zip decode
|
||||||
int decode_zip(unsigned char* dest, unsigned long* destLen, const unsigned char* source, unsigned long sourceLen)
|
int decode_zip(unsigned char* dest, unsigned long* destLen, const unsigned char* source, unsigned long sourceLen)
|
||||||
{
|
{
|
||||||
z_stream stream;
|
return uncompress(dest, destLen, source, sourceLen);
|
||||||
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;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -259,33 +233,7 @@ int decode_zip(unsigned char* dest, unsigned long* destLen, const unsigned char*
|
|||||||
/// Grf data sub : zip encode
|
/// Grf data sub : zip encode
|
||||||
int encode_zip(unsigned char* dest, unsigned long* destLen, const unsigned char* source, unsigned long sourceLen)
|
int encode_zip(unsigned char* dest, unsigned long* destLen, const unsigned char* source, unsigned long sourceLen)
|
||||||
{
|
{
|
||||||
z_stream stream;
|
return compress(dest, destLen, source, sourceLen);
|
||||||
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;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user