294
295
296
297
298
299
300
301
302
303
304
305
306
307
|
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
|
+
+
+
+
+
+
+
+
+
+
+
|
return self;
}
- (void)dealloc
{
[_stream release];
if (_state == HUFFMAN_TREE)
if (_context.huffmanTree.codeLenTree != NULL)
releaseTree(_context.huffmanTree.codeLenTree);
if (_state == HUFFMAN_TREE || _state == HUFFMAN_BLOCK) {
if (_context.huffman.litLenTree != fixedLitLenTree)
releaseTree(_context.huffman.litLenTree);
if (_context.huffman.distTree != fixedDistTree)
releaseTree(_context.huffman.distTree);
}
[super dealloc];
}
#endif
- (size_t)lowlevelReadIntoBuffer: (void*)buffer_
length: (size_t)length
|
554
555
556
557
558
559
560
561
562
563
564
565
566
567
|
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
|
+
|
for (j = 0; j < count; j++)
CTX.lengths[i++] = value;
CTX.value = 0xFF;
}
releaseTree(CTX.codeLenTree);
CTX.codeLenTree = NULL;
CTX.litLenTree = constructTree(CTX.lengths,
CTX.litLenCodesCount + 257);
CTX.distTree = constructTree(
CTX.lengths + CTX.litLenCodesCount + 257,
CTX.distCodesCount + 1);
|