aboutsummaryrefslogtreecommitdiff
path: root/dep/CascLib/src/CascDecompress.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'dep/CascLib/src/CascDecompress.cpp')
-rw-r--r--dep/CascLib/src/CascDecompress.cpp41
1 files changed, 2 insertions, 39 deletions
diff --git a/dep/CascLib/src/CascDecompress.cpp b/dep/CascLib/src/CascDecompress.cpp
index 2858bcec5ab..290b08d64d8 100644
--- a/dep/CascLib/src/CascDecompress.cpp
+++ b/dep/CascLib/src/CascDecompress.cpp
@@ -13,9 +13,9 @@
#include "CascCommon.h"
//-----------------------------------------------------------------------------
-// Local functions
+// Public functions
-static int Decompress_ZLIB(LPBYTE pbOutBuffer, PDWORD pcbOutBuffer, LPBYTE pbInBuffer, DWORD cbInBuffer)
+int CascDecompress(LPBYTE pbOutBuffer, PDWORD pcbOutBuffer, LPBYTE pbInBuffer, DWORD cbInBuffer)
{
z_stream z; // Stream information for zlib
int nResult;
@@ -44,40 +44,3 @@ static int Decompress_ZLIB(LPBYTE pbOutBuffer, PDWORD pcbOutBuffer, LPBYTE pbInB
// Return an error code
return (nResult == Z_OK || nResult == Z_STREAM_END) ? ERROR_SUCCESS : ERROR_FILE_CORRUPT;
}
-
-//-----------------------------------------------------------------------------
-// Public functions
-
-int CascDecompress(void * pvOutBuffer, PDWORD pcbOutBuffer, void * pvInBuffer, DWORD cbInBuffer)
-{
- LPBYTE pbOutBuffer = (LPBYTE)pvOutBuffer;
- LPBYTE pbInBuffer = (LPBYTE)pvInBuffer;
- DWORD cbOutBuffer = *pcbOutBuffer; // Current size of the output buffer
- BYTE uCompression; // Decompressions applied to the data
-
- // Verify buffer sizes
- if(cbInBuffer <= 1)
- return 0;
-
- // Get applied compression types and decrement data length
- uCompression = *pbInBuffer++;
- cbInBuffer--;
-
- // Perform the decompressions
- switch(uCompression)
- {
- case 'N': // Uncompressed
-
- assert(cbOutBuffer == cbInBuffer);
- memcpy(pbOutBuffer, pbInBuffer, cbInBuffer);
- *pcbOutBuffer = cbOutBuffer;
- return ERROR_SUCCESS;
-
- case 'Z': // ZLIB
-
- return Decompress_ZLIB(pbOutBuffer, pcbOutBuffer, pbInBuffer, cbInBuffer);
- }
-
- assert(false);
- return ERROR_NOT_SUPPORTED;
-}