diff options
author | Yann Collet <yann.collet.73@gmail.com> | 2014-10-27 23:39:06 (GMT) |
---|---|---|
committer | Yann Collet <yann.collet.73@gmail.com> | 2014-10-27 23:39:06 (GMT) |
commit | 7a677a77a683a6716307034a176228075ce9fea5 (patch) | |
tree | d9359141f856f9612ac1cf201642313e8835d91e /lz4.c | |
parent | 508855c48826aa0544a907f02b52515aabba5e16 (diff) | |
download | lz4-7a677a77a683a6716307034a176228075ce9fea5.zip lz4-7a677a77a683a6716307034a176228075ce9fea5.tar.gz lz4-7a677a77a683a6716307034a176228075ce9fea5.tar.bz2 |
LZ4 HC streaming integrated within lz4frame
Diffstat (limited to 'lz4.c')
-rw-r--r--[-rwxr-xr-x] | lz4.c | 10 |
1 files changed, 7 insertions, 3 deletions
@@ -1182,9 +1182,13 @@ Advanced decoding functions : FORCE_INLINE int LZ4_decompress_usingDict_generic(const char* source, char* dest, int compressedSize, int maxOutputSize, int safe, const char* dictStart, int dictSize) { if (dictSize==0) - return LZ4_decompress_generic(source, dest, compressedSize, maxOutputSize, safe, full, 0, noDict, (BYTE*)dest, NULL, 64 KB); - if ((dictStart+dictSize == dest) && (dictSize >= (int)(64 KB - 1))) - return LZ4_decompress_generic(source, dest, compressedSize, maxOutputSize, safe, full, 0, withPrefix64k, (BYTE*)dest-64 KB, NULL, 64 KB); + return LZ4_decompress_generic(source, dest, compressedSize, maxOutputSize, safe, full, 0, noDict, (BYTE*)dest, NULL, 0); + if (dictStart+dictSize == dest) + { + if (dictSize >= (int)(64 KB - 1)) + return LZ4_decompress_generic(source, dest, compressedSize, maxOutputSize, safe, full, 0, withPrefix64k, (BYTE*)dest-64 KB, NULL, 0); + return LZ4_decompress_generic(source, dest, compressedSize, maxOutputSize, safe, full, 0, noDict, (BYTE*)dest-dictSize, NULL, 0); + } return LZ4_decompress_generic(source, dest, compressedSize, maxOutputSize, safe, full, 0, usingExtDict, (BYTE*)dest, (BYTE*)dictStart, dictSize); } |