Lines Matching refs:s
154 static void prepare_new_block(EState* s) { in prepare_new_block() argument
156 s->nblock = 0; in prepare_new_block()
157 s->numZ = 0; in prepare_new_block()
158 s->state_out_pos = 0; in prepare_new_block()
159 BZ_INITIALISE_CRC(s->blockCRC); in prepare_new_block()
161 s->inUse[i] = False; in prepare_new_block()
162 s->blockNo++; in prepare_new_block()
166 static void init_RL(EState* s) { in init_RL() argument
167 s->state_in_ch = 256; in init_RL()
168 s->state_in_len = 0; in init_RL()
171 static Bool isempty_RL(EState* s) { in isempty_RL() argument
172 if (s->state_in_ch < 256 && s->state_in_len > 0) in isempty_RL()
181 EState* s; in BZ_API() local
197 s = (EState*)BZALLOC(sizeof(EState)); in BZ_API()
198 if (s == nullptr) in BZ_API()
200 s->strm = strm; in BZ_API()
202 s->arr1 = nullptr; in BZ_API()
203 s->arr2 = nullptr; in BZ_API()
204 s->ftab = nullptr; in BZ_API()
207 s->arr1 = (UInt32*)BZALLOC(n * sizeof(UInt32)); in BZ_API()
208 s->arr2 = (UInt32*)BZALLOC((n + BZ_N_OVERSHOOT) * sizeof(UInt32)); in BZ_API()
209 s->ftab = (UInt32*)BZALLOC(65537 * sizeof(UInt32)); in BZ_API()
211 if (s->arr1 == nullptr || s->arr2 == nullptr || s->ftab == nullptr) { in BZ_API()
212 if (s->arr1 != nullptr) in BZ_API()
213 BZFREE(s->arr1); in BZ_API()
214 if (s->arr2 != nullptr) in BZ_API()
215 BZFREE(s->arr2); in BZ_API()
216 if (s->ftab != nullptr) in BZ_API()
217 BZFREE(s->ftab); in BZ_API()
218 if (s != nullptr) in BZ_API()
219 BZFREE(s); in BZ_API()
223 s->blockNo = 0; in BZ_API()
224 s->state = BZ_S_INPUT; in BZ_API()
225 s->mode = BZ_M_RUNNING; in BZ_API()
226 s->combinedCRC = 0; in BZ_API()
227 s->blockSize100k = blockSize100k; in BZ_API()
228 s->nblockMAX = 100000 * blockSize100k - 19; in BZ_API()
229 s->verbosity = verbosity; in BZ_API()
230 s->workFactor = workFactor; in BZ_API()
232 s->block = (UChar*)s->arr2; in BZ_API()
233 s->mtfv = (UInt16*)s->arr1; in BZ_API()
234 s->zbits = nullptr; in BZ_API()
235 s->ptr = (UInt32*)s->arr1; in BZ_API()
237 strm->state = s; in BZ_API()
242 init_RL(s); in BZ_API()
243 prepare_new_block(s); in BZ_API()
248 static void add_pair_to_block(EState* s) { in add_pair_to_block() argument
250 UChar ch = (UChar)(s->state_in_ch); in add_pair_to_block()
251 for (i = 0; i < s->state_in_len; i++) { in add_pair_to_block()
252 BZ_UPDATE_CRC(s->blockCRC, ch); in add_pair_to_block()
254 s->inUse[s->state_in_ch] = True; in add_pair_to_block()
255 switch (s->state_in_len) { in add_pair_to_block()
257 s->block[s->nblock] = (UChar)ch; in add_pair_to_block()
258 s->nblock++; in add_pair_to_block()
261 s->block[s->nblock] = (UChar)ch; in add_pair_to_block()
262 s->nblock++; in add_pair_to_block()
263 s->block[s->nblock] = (UChar)ch; in add_pair_to_block()
264 s->nblock++; in add_pair_to_block()
267 s->block[s->nblock] = (UChar)ch; in add_pair_to_block()
268 s->nblock++; in add_pair_to_block()
269 s->block[s->nblock] = (UChar)ch; in add_pair_to_block()
270 s->nblock++; in add_pair_to_block()
271 s->block[s->nblock] = (UChar)ch; in add_pair_to_block()
272 s->nblock++; in add_pair_to_block()
275 s->inUse[s->state_in_len - 4] = True; in add_pair_to_block()
276 s->block[s->nblock] = (UChar)ch; in add_pair_to_block()
277 s->nblock++; in add_pair_to_block()
278 s->block[s->nblock] = (UChar)ch; in add_pair_to_block()
279 s->nblock++; in add_pair_to_block()
280 s->block[s->nblock] = (UChar)ch; in add_pair_to_block()
281 s->nblock++; in add_pair_to_block()
282 s->block[s->nblock] = (UChar)ch; in add_pair_to_block()
283 s->nblock++; in add_pair_to_block()
284 s->block[s->nblock] = ((UChar)(s->state_in_len - 4)); in add_pair_to_block()
285 s->nblock++; in add_pair_to_block()
291 static void flush_RL(EState* s) { in flush_RL() argument
292 if (s->state_in_ch < 256) in flush_RL()
293 add_pair_to_block(s); in flush_RL()
294 init_RL(s); in flush_RL()
323 static Bool copy_input_until_stop(EState* s) { in copy_input_until_stop() argument
326 if (s->mode == BZ_M_RUNNING) { in copy_input_until_stop()
330 if (s->nblock >= s->nblockMAX) in copy_input_until_stop()
333 if (s->strm->avail_in == 0) in copy_input_until_stop()
336 ADD_CHAR_TO_BLOCK(s, (UInt32)(*((UChar*)(s->strm->next_in)))); in copy_input_until_stop()
337 s->strm->next_in++; in copy_input_until_stop()
338 s->strm->avail_in--; in copy_input_until_stop()
339 s->strm->total_in_lo32++; in copy_input_until_stop()
340 if (s->strm->total_in_lo32 == 0) in copy_input_until_stop()
341 s->strm->total_in_hi32++; in copy_input_until_stop()
348 if (s->nblock >= s->nblockMAX) in copy_input_until_stop()
351 if (s->strm->avail_in == 0) in copy_input_until_stop()
354 if (s->avail_in_expect == 0) in copy_input_until_stop()
357 ADD_CHAR_TO_BLOCK(s, (UInt32)(*((UChar*)(s->strm->next_in)))); in copy_input_until_stop()
358 s->strm->next_in++; in copy_input_until_stop()
359 s->strm->avail_in--; in copy_input_until_stop()
360 s->strm->total_in_lo32++; in copy_input_until_stop()
361 if (s->strm->total_in_lo32 == 0) in copy_input_until_stop()
362 s->strm->total_in_hi32++; in copy_input_until_stop()
363 s->avail_in_expect--; in copy_input_until_stop()
370 static Bool copy_output_until_stop(EState* s) { in copy_output_until_stop() argument
375 if (s->strm->avail_out == 0) in copy_output_until_stop()
379 if (s->state_out_pos >= s->numZ) in copy_output_until_stop()
383 *(s->strm->next_out) = s->zbits[s->state_out_pos]; in copy_output_until_stop()
384 s->state_out_pos++; in copy_output_until_stop()
385 s->strm->avail_out--; in copy_output_until_stop()
386 s->strm->next_out++; in copy_output_until_stop()
387 s->strm->total_out_lo32++; in copy_output_until_stop()
388 if (s->strm->total_out_lo32 == 0) in copy_output_until_stop()
389 s->strm->total_out_hi32++; in copy_output_until_stop()
399 EState* s = (EState*)strm->state; in handle_compress() local
402 if (s->state == BZ_S_OUTPUT) { in handle_compress()
403 progress_out |= copy_output_until_stop(s); in handle_compress()
404 if (s->state_out_pos < s->numZ) in handle_compress()
406 if (s->mode == BZ_M_FINISHING && s->avail_in_expect == 0 && isempty_RL(s)) in handle_compress()
408 prepare_new_block(s); in handle_compress()
409 s->state = BZ_S_INPUT; in handle_compress()
410 if (s->mode == BZ_M_FLUSHING && s->avail_in_expect == 0 && isempty_RL(s)) in handle_compress()
414 if (s->state == BZ_S_INPUT) { in handle_compress()
415 progress_in |= copy_input_until_stop(s); in handle_compress()
416 if (s->mode != BZ_M_RUNNING && s->avail_in_expect == 0) { in handle_compress()
417 flush_RL(s); in handle_compress()
418 BZ2_compressBlock(s, (Bool)(s->mode == BZ_M_FINISHING)); in handle_compress()
419 s->state = BZ_S_OUTPUT; in handle_compress()
421 else if (s->nblock >= s->nblockMAX) { in handle_compress()
422 BZ2_compressBlock(s, False); in handle_compress()
423 s->state = BZ_S_OUTPUT; in handle_compress()
425 else if (s->strm->avail_in == 0) { in handle_compress()
437 EState* s; in BZ_API() local
440 s = (EState*)strm->state; in BZ_API()
441 if (s == nullptr) in BZ_API()
443 if (s->strm != strm) in BZ_API()
447 switch (s->mode) { in BZ_API()
456 s->avail_in_expect = strm->avail_in; in BZ_API()
457 s->mode = BZ_M_FLUSHING; in BZ_API()
461 s->avail_in_expect = strm->avail_in; in BZ_API()
462 s->mode = BZ_M_FINISHING; in BZ_API()
471 if (s->avail_in_expect != s->strm->avail_in) in BZ_API()
474 if (s->avail_in_expect > 0 || !isempty_RL(s) || s->state_out_pos < s->numZ) in BZ_API()
476 s->mode = BZ_M_RUNNING; in BZ_API()
482 if (s->avail_in_expect != s->strm->avail_in) in BZ_API()
487 if (s->avail_in_expect > 0 || !isempty_RL(s) || s->state_out_pos < s->numZ) in BZ_API()
489 s->mode = BZ_M_IDLE; in BZ_API()
497 EState* s; in BZ_API() local
500 s = (EState*)strm->state; in BZ_API()
501 if (s == nullptr) in BZ_API()
503 if (s->strm != strm) in BZ_API()
506 if (s->arr1 != nullptr) in BZ_API()
507 BZFREE(s->arr1); in BZ_API()
508 if (s->arr2 != nullptr) in BZ_API()
509 BZFREE(s->arr2); in BZ_API()
510 if (s->ftab != nullptr) in BZ_API()
511 BZFREE(s->ftab); in BZ_API()
525 DState* s; in BZ_API() local
542 s = (DState*)BZALLOC(sizeof(DState)); in BZ_API()
543 if (s == nullptr) in BZ_API()
545 s->strm = strm; in BZ_API()
546 strm->state = s; in BZ_API()
547 s->state = BZ_X_MAGIC_1; in BZ_API()
548 s->bsLive = 0; in BZ_API()
549 s->bsBuff = 0; in BZ_API()
550 s->calculatedCombinedCRC = 0; in BZ_API()
555 s->smallDecompress = (Bool)small; in BZ_API()
556 s->ll4 = nullptr; in BZ_API()
557 s->ll16 = nullptr; in BZ_API()
558 s->tt = nullptr; in BZ_API()
559 s->currBlockNo = 0; in BZ_API()
560 s->verbosity = verbosity; in BZ_API()
569 static Bool unRLE_obuf_to_output_FAST(DState* s) { in unRLE_obuf_to_output_FAST() argument
572 if (s->blockRandomised) { in unRLE_obuf_to_output_FAST()
576 if (s->strm->avail_out == 0) in unRLE_obuf_to_output_FAST()
578 if (s->state_out_len == 0) in unRLE_obuf_to_output_FAST()
580 *((UChar*)(s->strm->next_out)) = s->state_out_ch; in unRLE_obuf_to_output_FAST()
581 BZ_UPDATE_CRC(s->calculatedBlockCRC, s->state_out_ch); in unRLE_obuf_to_output_FAST()
582 s->state_out_len--; in unRLE_obuf_to_output_FAST()
583 s->strm->next_out++; in unRLE_obuf_to_output_FAST()
584 s->strm->avail_out--; in unRLE_obuf_to_output_FAST()
585 s->strm->total_out_lo32++; in unRLE_obuf_to_output_FAST()
586 if (s->strm->total_out_lo32 == 0) in unRLE_obuf_to_output_FAST()
587 s->strm->total_out_hi32++; in unRLE_obuf_to_output_FAST()
591 if (s->nblock_used == s->save_nblock + 1) in unRLE_obuf_to_output_FAST()
595 if (s->nblock_used > s->save_nblock + 1) in unRLE_obuf_to_output_FAST()
598 s->state_out_len = 1; in unRLE_obuf_to_output_FAST()
599 s->state_out_ch = s->k0; in unRLE_obuf_to_output_FAST()
603 s->nblock_used++; in unRLE_obuf_to_output_FAST()
604 if (s->nblock_used == s->save_nblock + 1) in unRLE_obuf_to_output_FAST()
606 if (k1 != s->k0) { in unRLE_obuf_to_output_FAST()
607 s->k0 = k1; in unRLE_obuf_to_output_FAST()
611 s->state_out_len = 2; in unRLE_obuf_to_output_FAST()
615 s->nblock_used++; in unRLE_obuf_to_output_FAST()
616 if (s->nblock_used == s->save_nblock + 1) in unRLE_obuf_to_output_FAST()
618 if (k1 != s->k0) { in unRLE_obuf_to_output_FAST()
619 s->k0 = k1; in unRLE_obuf_to_output_FAST()
623 s->state_out_len = 3; in unRLE_obuf_to_output_FAST()
627 s->nblock_used++; in unRLE_obuf_to_output_FAST()
628 if (s->nblock_used == s->save_nblock + 1) in unRLE_obuf_to_output_FAST()
630 if (k1 != s->k0) { in unRLE_obuf_to_output_FAST()
631 s->k0 = k1; in unRLE_obuf_to_output_FAST()
638 s->nblock_used++; in unRLE_obuf_to_output_FAST()
639 s->state_out_len = ((Int32)k1) + 4; in unRLE_obuf_to_output_FAST()
640 BZ_GET_FAST(s->k0); in unRLE_obuf_to_output_FAST()
642 s->k0 ^= BZ_RAND_MASK; in unRLE_obuf_to_output_FAST()
643 s->nblock_used++; in unRLE_obuf_to_output_FAST()
648 UInt32 c_calculatedBlockCRC = s->calculatedBlockCRC; in unRLE_obuf_to_output_FAST()
649 UChar c_state_out_ch = s->state_out_ch; in unRLE_obuf_to_output_FAST()
650 Int32 c_state_out_len = s->state_out_len; in unRLE_obuf_to_output_FAST()
651 Int32 c_nblock_used = s->nblock_used; in unRLE_obuf_to_output_FAST()
652 Int32 c_k0 = s->k0; in unRLE_obuf_to_output_FAST()
653 UInt32* c_tt = s->tt; in unRLE_obuf_to_output_FAST()
654 UInt32 c_tPos = s->tPos; in unRLE_obuf_to_output_FAST()
655 char* cs_next_out = s->strm->next_out; in unRLE_obuf_to_output_FAST()
656 unsigned int cs_avail_out = s->strm->avail_out; in unRLE_obuf_to_output_FAST()
657 Int32 ro_blockSize100k = s->blockSize100k; in unRLE_obuf_to_output_FAST()
661 Int32 s_save_nblockPP = s->save_nblock + 1; in unRLE_obuf_to_output_FAST()
736 total_out_lo32_old = s->strm->total_out_lo32; in unRLE_obuf_to_output_FAST()
737 s->strm->total_out_lo32 += (avail_out_INIT - cs_avail_out); in unRLE_obuf_to_output_FAST()
738 if (s->strm->total_out_lo32 < total_out_lo32_old) in unRLE_obuf_to_output_FAST()
739 s->strm->total_out_hi32++; in unRLE_obuf_to_output_FAST()
742 s->calculatedBlockCRC = c_calculatedBlockCRC; in unRLE_obuf_to_output_FAST()
743 s->state_out_ch = c_state_out_ch; in unRLE_obuf_to_output_FAST()
744 s->state_out_len = c_state_out_len; in unRLE_obuf_to_output_FAST()
745 s->nblock_used = c_nblock_used; in unRLE_obuf_to_output_FAST()
746 s->k0 = c_k0; in unRLE_obuf_to_output_FAST()
747 s->tt = c_tt; in unRLE_obuf_to_output_FAST()
748 s->tPos = c_tPos; in unRLE_obuf_to_output_FAST()
749 s->strm->next_out = cs_next_out; in unRLE_obuf_to_output_FAST()
750 s->strm->avail_out = cs_avail_out; in unRLE_obuf_to_output_FAST()
775 static Bool unRLE_obuf_to_output_SMALL(DState* s) { in unRLE_obuf_to_output_SMALL() argument
778 if (s->blockRandomised) { in unRLE_obuf_to_output_SMALL()
782 if (s->strm->avail_out == 0) in unRLE_obuf_to_output_SMALL()
784 if (s->state_out_len == 0) in unRLE_obuf_to_output_SMALL()
786 *((UChar*)(s->strm->next_out)) = s->state_out_ch; in unRLE_obuf_to_output_SMALL()
787 BZ_UPDATE_CRC(s->calculatedBlockCRC, s->state_out_ch); in unRLE_obuf_to_output_SMALL()
788 s->state_out_len--; in unRLE_obuf_to_output_SMALL()
789 s->strm->next_out++; in unRLE_obuf_to_output_SMALL()
790 s->strm->avail_out--; in unRLE_obuf_to_output_SMALL()
791 s->strm->total_out_lo32++; in unRLE_obuf_to_output_SMALL()
792 if (s->strm->total_out_lo32 == 0) in unRLE_obuf_to_output_SMALL()
793 s->strm->total_out_hi32++; in unRLE_obuf_to_output_SMALL()
797 if (s->nblock_used == s->save_nblock + 1) in unRLE_obuf_to_output_SMALL()
801 if (s->nblock_used > s->save_nblock + 1) in unRLE_obuf_to_output_SMALL()
804 s->state_out_len = 1; in unRLE_obuf_to_output_SMALL()
805 s->state_out_ch = s->k0; in unRLE_obuf_to_output_SMALL()
809 s->nblock_used++; in unRLE_obuf_to_output_SMALL()
810 if (s->nblock_used == s->save_nblock + 1) in unRLE_obuf_to_output_SMALL()
812 if (k1 != s->k0) { in unRLE_obuf_to_output_SMALL()
813 s->k0 = k1; in unRLE_obuf_to_output_SMALL()
817 s->state_out_len = 2; in unRLE_obuf_to_output_SMALL()
821 s->nblock_used++; in unRLE_obuf_to_output_SMALL()
822 if (s->nblock_used == s->save_nblock + 1) in unRLE_obuf_to_output_SMALL()
824 if (k1 != s->k0) { in unRLE_obuf_to_output_SMALL()
825 s->k0 = k1; in unRLE_obuf_to_output_SMALL()
829 s->state_out_len = 3; in unRLE_obuf_to_output_SMALL()
833 s->nblock_used++; in unRLE_obuf_to_output_SMALL()
834 if (s->nblock_used == s->save_nblock + 1) in unRLE_obuf_to_output_SMALL()
836 if (k1 != s->k0) { in unRLE_obuf_to_output_SMALL()
837 s->k0 = k1; in unRLE_obuf_to_output_SMALL()
844 s->nblock_used++; in unRLE_obuf_to_output_SMALL()
845 s->state_out_len = ((Int32)k1) + 4; in unRLE_obuf_to_output_SMALL()
846 BZ_GET_SMALL(s->k0); in unRLE_obuf_to_output_SMALL()
848 s->k0 ^= BZ_RAND_MASK; in unRLE_obuf_to_output_SMALL()
849 s->nblock_used++; in unRLE_obuf_to_output_SMALL()
856 if (s->strm->avail_out == 0) in unRLE_obuf_to_output_SMALL()
858 if (s->state_out_len == 0) in unRLE_obuf_to_output_SMALL()
860 *((UChar*)(s->strm->next_out)) = s->state_out_ch; in unRLE_obuf_to_output_SMALL()
861 BZ_UPDATE_CRC(s->calculatedBlockCRC, s->state_out_ch); in unRLE_obuf_to_output_SMALL()
862 s->state_out_len--; in unRLE_obuf_to_output_SMALL()
863 s->strm->next_out++; in unRLE_obuf_to_output_SMALL()
864 s->strm->avail_out--; in unRLE_obuf_to_output_SMALL()
865 s->strm->total_out_lo32++; in unRLE_obuf_to_output_SMALL()
866 if (s->strm->total_out_lo32 == 0) in unRLE_obuf_to_output_SMALL()
867 s->strm->total_out_hi32++; in unRLE_obuf_to_output_SMALL()
871 if (s->nblock_used == s->save_nblock + 1) in unRLE_obuf_to_output_SMALL()
875 if (s->nblock_used > s->save_nblock + 1) in unRLE_obuf_to_output_SMALL()
878 s->state_out_len = 1; in unRLE_obuf_to_output_SMALL()
879 s->state_out_ch = s->k0; in unRLE_obuf_to_output_SMALL()
881 s->nblock_used++; in unRLE_obuf_to_output_SMALL()
882 if (s->nblock_used == s->save_nblock + 1) in unRLE_obuf_to_output_SMALL()
884 if (k1 != s->k0) { in unRLE_obuf_to_output_SMALL()
885 s->k0 = k1; in unRLE_obuf_to_output_SMALL()
889 s->state_out_len = 2; in unRLE_obuf_to_output_SMALL()
891 s->nblock_used++; in unRLE_obuf_to_output_SMALL()
892 if (s->nblock_used == s->save_nblock + 1) in unRLE_obuf_to_output_SMALL()
894 if (k1 != s->k0) { in unRLE_obuf_to_output_SMALL()
895 s->k0 = k1; in unRLE_obuf_to_output_SMALL()
899 s->state_out_len = 3; in unRLE_obuf_to_output_SMALL()
901 s->nblock_used++; in unRLE_obuf_to_output_SMALL()
902 if (s->nblock_used == s->save_nblock + 1) in unRLE_obuf_to_output_SMALL()
904 if (k1 != s->k0) { in unRLE_obuf_to_output_SMALL()
905 s->k0 = k1; in unRLE_obuf_to_output_SMALL()
910 s->nblock_used++; in unRLE_obuf_to_output_SMALL()
911 s->state_out_len = ((Int32)k1) + 4; in unRLE_obuf_to_output_SMALL()
912 BZ_GET_SMALL(s->k0); in unRLE_obuf_to_output_SMALL()
913 s->nblock_used++; in unRLE_obuf_to_output_SMALL()
921 DState* s; in BZ_API() local
924 s = (DState*)strm->state; in BZ_API()
925 if (s == nullptr) in BZ_API()
927 if (s->strm != strm) in BZ_API()
931 if (s->state == BZ_X_IDLE) in BZ_API()
933 if (s->state == BZ_X_OUTPUT) { in BZ_API()
934 if (s->smallDecompress) in BZ_API()
935 corrupt = unRLE_obuf_to_output_SMALL(s); in BZ_API()
937 corrupt = unRLE_obuf_to_output_FAST(s); in BZ_API()
940 if (s->nblock_used == s->save_nblock + 1 && s->state_out_len == 0) { in BZ_API()
941 BZ_FINALISE_CRC(s->calculatedBlockCRC); in BZ_API()
942 if (s->verbosity >= 3) in BZ_API()
943 VPrintf2(" {0x%08x, 0x%08x}", s->storedBlockCRC, s->calculatedBlockCRC); in BZ_API()
944 if (s->verbosity >= 2) in BZ_API()
946 if (s->calculatedBlockCRC != s->storedBlockCRC) in BZ_API()
948 s->calculatedCombinedCRC = in BZ_API()
949 (s->calculatedCombinedCRC << 1) | (s->calculatedCombinedCRC >> 31); in BZ_API()
950 s->calculatedCombinedCRC ^= s->calculatedBlockCRC; in BZ_API()
951 s->state = BZ_X_BLKHDR_1; in BZ_API()
957 if (s->state >= BZ_X_MAGIC_1) { in BZ_API()
958 Int32 r = BZ2_decompress(s); in BZ_API()
960 if (s->verbosity >= 3) in BZ_API()
962 s->storedCombinedCRC, in BZ_API()
963 s->calculatedCombinedCRC); in BZ_API()
964 if (s->calculatedCombinedCRC != s->storedCombinedCRC) in BZ_API()
968 if (s->state != BZ_X_OUTPUT) in BZ_API()
980 DState* s; in BZ_API() local
983 s = (DState*)strm->state; in BZ_API()
984 if (s == nullptr) in BZ_API()
986 if (s->strm != strm) in BZ_API()
989 if (s->tt != nullptr) in BZ_API()
990 BZFREE(s->tt); in BZ_API()
991 if (s->ll16 != nullptr) in BZ_API()
992 BZFREE(s->ll16); in BZ_API()
993 if (s->ll4 != nullptr) in BZ_API()
994 BZFREE(s->ll4); in BZ_API()