Rebex.IO.Compression.Inflate.inflateSetDictionary C# (CSharp) Метод

inflateSetDictionary() приватный Метод

private inflateSetDictionary ( ZStream z, byte dictionary, int dictLength ) : int
z ZStream
dictionary byte
dictLength int
Результат int
        internal int inflateSetDictionary(ZStream z, byte[] dictionary, int dictLength)
        {
            int index = 0;
            int length = dictLength;
            if (z == null || z.istate == null || z.istate.mode != DICT0)
                return Z_STREAM_ERROR;

            if (z._adler.adler32(1L, dictionary, 0, dictLength) != z.adler)
            {
                return Z_DATA_ERROR;
            }

            z.adler = z._adler.adler32(0, null, 0, 0);

            if (length >= (1 << z.istate.wbits))
            {
                length = (1 << z.istate.wbits) - 1;
                index = dictLength - length;
            }
            z.istate.blocks.set_dictionary(dictionary, index, length);
            z.istate.mode = BLOCKS;
            return Z_OK;
        }

Usage Example

Пример #1
0
 public int inflateSetDictionary(byte[] dictionary, int dictLength)
 {
     if (istate == null)
     {
         return(Z_STREAM_ERROR);
     }
     return(istate.inflateSetDictionary(this, dictionary, dictLength));
 }