/* Advanced decoding functions : _usingDict() : These decoding functions work the same as "_continue" ones, the dictionary must be explicitly provided within parameters  */
int LZ4_decompress_safe_usingDict(const char *source, char *dest, int compressedSize, int maxOutputSize, const char *dictStart, int dictSize)
/* Advanced decoding functions : _usingDict() : These decoding functions work the same as "_continue" ones, the dictionary must be explicitly provided within parameters  */
int LZ4_decompress_safe_usingDict(const char *source, char *dest, int compressedSize, int maxOutputSize, const char *dictStart, int dictSize)
{
    if (dictSize==0)
        return LZ4_decompress_safe(source, dest, compressedSize, maxOutputSize);
    if (dictStart+dictSize == dest) {
        if (dictSize >= 64 KB - 1)
            return LZ4_decompress_safe_withPrefix64k(source, dest, compressedSize, maxOutputSize);
        return LZ4_decompress_safe_withSmallPrefix(source, dest, compressedSize, maxOutputSize, dictSize);
    }
    return LZ4_decompress_safe_extDict(source, dest, compressedSize, maxOutputSize, dictStart, dictSize);
}