#include "commonheaders.h" // gzip data BYTE *cpp_gzip(BYTE *pData, size_t nLen, size_t& nCompressedLen) { string zipped; Gzip gzip(new StringSink(zipped),5); // 1 is fast, 9 is slow gzip.Put(pData, nLen); gzip.MessageEnd(); nCompressedLen = (int) zipped.length(); PBYTE pCompressed = (PBYTE) malloc(nCompressedLen+1); memcpy(pCompressed,zipped.data(),nCompressedLen); return pCompressed; } // gunzip data BYTE *cpp_gunzip(BYTE *pCompressedData, size_t nCompressedLen, size_t& nLen) { string unzipped; Gunzip gunzip(new StringSink(unzipped)); gunzip.Put((PBYTE)pCompressedData,nCompressedLen); gunzip.MessageEnd(); nLen = (int) unzipped.length(); PBYTE pData = (PBYTE) malloc(nLen+1); memcpy(pData,unzipped.data(),nLen); return pData; } // zlibc data string cpp_zlibc(string& pData) { string zipped; ZlibCompressor zlib(new StringSink(zipped),5); // 1 is fast, 9 is slow zlib.Put((PBYTE)pData.data(), pData.length()); zlib.MessageEnd(); return zipped; } // zlibd data string cpp_zlibd(string& pData) { string unzipped; ZlibDecompressor zlib(new StringSink(unzipped)); zlib.Put((PBYTE)pData.data(),pData.length()); zlib.MessageEnd(); return unzipped; } // EOF