Esempio n. 1
0
        private static HuffmanTree ReadHuffmanTree(BinaryReader reader, BinaryHelpFileHeader header)
        {
            if (reader.BaseStream.Position != header.HuffmanTreeOffset)
            {
                throw new InvalidDataException("Incorrect Huffman Tree section position.");
            }

            //int sectionSize = file.Header.TopicTextOffset - file.Header.HuffmanTreeOffset;
            HuffmanTree tree = HuffmanTree.Deserialize(reader);

            if (tree.IsEmpty || tree.IsSingular)
            {
                throw new InvalidDataException("Invalid huffman tree.");
            }
            return(tree);
        }