| line |
true |
false |
branch |
|
115
|
143 |
0 |
if (addr != NULL) free ( addr ); |
|
128
|
5888 |
23 |
for (i = 0; i < 256; i++) s->inUse[i] = False; |
|
145
|
0 |
66 |
if (s->state_in_ch < 256 && s->state_in_len > 0) |
|
|
0 |
0 |
if (s->state_in_ch < 256 && s->state_in_len > 0) |
|
161
|
0 |
21 |
if (!bz_config_ok()) return BZ_CONFIG_ERROR; |
|
163
|
21 |
0 |
if (strm == NULL || |
|
|
21 |
0 |
if (strm == NULL || |
|
164
|
21 |
0 |
blockSize100k < 1 || blockSize100k > 9 || |
|
|
21 |
0 |
blockSize100k < 1 || blockSize100k > 9 || |
|
165
|
0 |
21 |
workFactor < 0 || workFactor > 250) |
|
168
|
21 |
0 |
if (workFactor == 0) workFactor = 30; |
|
169
|
21 |
0 |
if (strm->bzalloc == NULL) strm->bzalloc = default_bzalloc; |
|
170
|
21 |
0 |
if (strm->bzfree == NULL) strm->bzfree = default_bzfree; |
|
173
|
0 |
21 |
if (s == NULL) return BZ_MEM_ERROR; |
|
185
|
21 |
0 |
if (s->arr1 == NULL || s->arr2 == NULL || s->ftab == NULL) { |
|
|
21 |
0 |
if (s->arr1 == NULL || s->arr2 == NULL || s->ftab == NULL) { |
|
|
0 |
21 |
if (s->arr1 == NULL || s->arr2 == NULL || s->ftab == NULL) { |
|
186
|
0 |
0 |
if (s->arr1 != NULL) BZFREE(s->arr1); |
|
187
|
0 |
0 |
if (s->arr2 != NULL) BZFREE(s->arr2); |
|
188
|
0 |
0 |
if (s->ftab != NULL) BZFREE(s->ftab); |
|
189
|
0 |
0 |
if (s != NULL) BZFREE(s); |
|
224
|
6567 |
2287 |
for (i = 0; i < s->state_in_len; i++) { |
|
258
|
21 |
2 |
if (s->state_in_ch < 256) add_pair_to_block ( s ); |
|
297
|
205 |
23 |
if (s->mode == BZ_M_RUNNING) { |
|
302
|
0 |
125600 |
if (s->nblock >= s->nblockMAX) break; |
|
304
|
205 |
125395 |
if (s->strm->avail_in == 0) break; |
|
306
|
121115 |
4280 |
ADD_CHAR_TO_BLOCK ( s, (UInt32)(*((UChar*)(s->strm->next_in))) ); |
|
|
118828 |
2287 |
ADD_CHAR_TO_BLOCK ( s, (UInt32)(*((UChar*)(s->strm->next_in))) ); |
|
|
4280 |
2287 |
ADD_CHAR_TO_BLOCK ( s, (UInt32)(*((UChar*)(s->strm->next_in))) ); |
|
|
0 |
4280 |
ADD_CHAR_TO_BLOCK ( s, (UInt32)(*((UChar*)(s->strm->next_in))) ); |
|
|
2266 |
21 |
ADD_CHAR_TO_BLOCK ( s, (UInt32)(*((UChar*)(s->strm->next_in))) ); |
|
310
|
0 |
125395 |
if (s->strm->total_in_lo32 == 0) s->strm->total_in_hi32++; |
|
318
|
0 |
23 |
if (s->nblock >= s->nblockMAX) break; |
|
320
|
23 |
0 |
if (s->strm->avail_in == 0) break; |
|
322
|
0 |
0 |
if (s->avail_in_expect == 0) break; |
|
324
|
0 |
0 |
ADD_CHAR_TO_BLOCK ( s, (UInt32)(*((UChar*)(s->strm->next_in))) ); |
|
|
0 |
0 |
ADD_CHAR_TO_BLOCK ( s, (UInt32)(*((UChar*)(s->strm->next_in))) ); |
|
|
0 |
0 |
ADD_CHAR_TO_BLOCK ( s, (UInt32)(*((UChar*)(s->strm->next_in))) ); |
|
|
0 |
0 |
ADD_CHAR_TO_BLOCK ( s, (UInt32)(*((UChar*)(s->strm->next_in))) ); |
|
|
0 |
0 |
ADD_CHAR_TO_BLOCK ( s, (UInt32)(*((UChar*)(s->strm->next_in))) ); |
|
328
|
0 |
0 |
if (s->strm->total_in_lo32 == 0) s->strm->total_in_hi32++; |
|
345
|
20 |
62773 |
if (s->strm->avail_out == 0) break; |
|
348
|
23 |
62750 |
if (s->state_out_pos >= s->numZ) break; |
|
356
|
0 |
62750 |
if (s->strm->total_out_lo32 == 0) s->strm->total_out_hi32++; |
|
373
|
43 |
228 |
if (s->state == BZ_S_OUTPUT) { |
|
375
|
20 |
23 |
if (s->state_out_pos < s->numZ) break; |
|
376
|
21 |
2 |
if (s->mode == BZ_M_FINISHING && |
|
|
21 |
0 |
if (s->mode == BZ_M_FINISHING && |
|
377
|
21 |
0 |
s->avail_in_expect == 0 && |
|
381
|
2 |
0 |
if (s->mode == BZ_M_FLUSHING && |
|
|
2 |
0 |
if (s->mode == BZ_M_FLUSHING && |
|
382
|
2 |
0 |
s->avail_in_expect == 0 && |
|
386
|
228 |
0 |
if (s->state == BZ_S_INPUT) { |
|
388
|
23 |
205 |
if (s->mode != BZ_M_RUNNING && s->avail_in_expect == 0) { |
|
|
23 |
0 |
if (s->mode != BZ_M_RUNNING && s->avail_in_expect == 0) { |
|
394
|
0 |
205 |
if (s->nblock >= s->nblockMAX) { |
|
399
|
205 |
0 |
if (s->strm->avail_in == 0) { |
|
406
|
43 |
205 |
return progress_in || progress_out; |
|
|
43 |
0 |
return progress_in || progress_out; |
|
415
|
0 |
248 |
if (strm == NULL) return BZ_PARAM_ERROR; |
|
417
|
0 |
248 |
if (s == NULL) return BZ_PARAM_ERROR; |
|
418
|
0 |
248 |
if (s->strm != strm) return BZ_PARAM_ERROR; |
|
427
|
205 |
23 |
if (action == BZ_RUN) { |
|
429
|
205 |
0 |
return progress ? BZ_RUN_OK : BZ_PARAM_ERROR; |
|
432
|
2 |
21 |
if (action == BZ_FLUSH) { |
|
438
|
21 |
0 |
if (action == BZ_FINISH) { |
|
447
|
0 |
4 |
if (action != BZ_FLUSH) return BZ_SEQUENCE_ERROR; |
|
448
|
0 |
4 |
if (s->avail_in_expect != s->strm->avail_in) |
|
451
|
4 |
0 |
if (s->avail_in_expect > 0 || !isempty_RL(s) || |
|
|
4 |
0 |
if (s->avail_in_expect > 0 || !isempty_RL(s) || |
|
|
2 |
2 |
if (s->avail_in_expect > 0 || !isempty_RL(s) || |
|
457
|
0 |
39 |
if (action != BZ_FINISH) return BZ_SEQUENCE_ERROR; |
|
458
|
0 |
39 |
if (s->avail_in_expect != s->strm->avail_in) |
|
461
|
0 |
39 |
if (!progress) return BZ_SEQUENCE_ERROR; |
|
462
|
39 |
0 |
if (s->avail_in_expect > 0 || !isempty_RL(s) || |
|
|
39 |
0 |
if (s->avail_in_expect > 0 || !isempty_RL(s) || |
|
|
18 |
21 |
if (s->avail_in_expect > 0 || !isempty_RL(s) || |
|
475
|
0 |
21 |
if (strm == NULL) return BZ_PARAM_ERROR; |
|
477
|
0 |
21 |
if (s == NULL) return BZ_PARAM_ERROR; |
|
478
|
0 |
21 |
if (s->strm != strm) return BZ_PARAM_ERROR; |
|
480
|
21 |
0 |
if (s->arr1 != NULL) BZFREE(s->arr1); |
|
481
|
21 |
0 |
if (s->arr2 != NULL) BZFREE(s->arr2); |
|
482
|
21 |
0 |
if (s->ftab != NULL) BZFREE(s->ftab); |
|
503
|
0 |
30 |
if (!bz_config_ok()) return BZ_CONFIG_ERROR; |
|
505
|
0 |
30 |
if (strm == NULL) return BZ_PARAM_ERROR; |
|
506
|
0 |
30 |
if (small != 0 && small != 1) return BZ_PARAM_ERROR; |
|
|
0 |
0 |
if (small != 0 && small != 1) return BZ_PARAM_ERROR; |
|
507
|
30 |
0 |
if (verbosity < 0 || verbosity > 4) return BZ_PARAM_ERROR; |
|
|
0 |
30 |
if (verbosity < 0 || verbosity > 4) return BZ_PARAM_ERROR; |
|
509
|
30 |
0 |
if (strm->bzalloc == NULL) strm->bzalloc = default_bzalloc; |
|
510
|
30 |
0 |
if (strm->bzfree == NULL) strm->bzfree = default_bzfree; |
|
513
|
0 |
30 |
if (s == NULL) return BZ_MEM_ERROR; |
|
544
|
0 |
63 |
if (s->blockRandomised) { |
|
549
|
0 |
0 |
if (s->strm->avail_out == 0) return False; |
|
550
|
0 |
0 |
if (s->state_out_len == 0) break; |
|
557
|
0 |
0 |
if (s->strm->total_out_lo32 == 0) s->strm->total_out_hi32++; |
|
561
|
0 |
0 |
if (s->nblock_used == s->save_nblock+1) return False; |
|
564
|
0 |
0 |
if (s->nblock_used > s->save_nblock+1) |
|
569
|
0 |
0 |
BZ_GET_FAST(k1); BZ_RAND_UPD_MASK; |
|
|
0 |
0 |
BZ_GET_FAST(k1); BZ_RAND_UPD_MASK; |
|
|
0 |
0 |
BZ_GET_FAST(k1); BZ_RAND_UPD_MASK; |
|
571
|
0 |
0 |
if (s->nblock_used == s->save_nblock+1) continue; |
|
572
|
0 |
0 |
if (k1 != s->k0) { s->k0 = k1; continue; }; |
|
575
|
0 |
0 |
BZ_GET_FAST(k1); BZ_RAND_UPD_MASK; |
|
|
0 |
0 |
BZ_GET_FAST(k1); BZ_RAND_UPD_MASK; |
|
|
0 |
0 |
BZ_GET_FAST(k1); BZ_RAND_UPD_MASK; |
|
577
|
0 |
0 |
if (s->nblock_used == s->save_nblock+1) continue; |
|
578
|
0 |
0 |
if (k1 != s->k0) { s->k0 = k1; continue; }; |
|
581
|
0 |
0 |
BZ_GET_FAST(k1); BZ_RAND_UPD_MASK; |
|
|
0 |
0 |
BZ_GET_FAST(k1); BZ_RAND_UPD_MASK; |
|
|
0 |
0 |
BZ_GET_FAST(k1); BZ_RAND_UPD_MASK; |
|
583
|
0 |
0 |
if (s->nblock_used == s->save_nblock+1) continue; |
|
584
|
0 |
0 |
if (k1 != s->k0) { s->k0 = k1; continue; }; |
|
586
|
0 |
0 |
BZ_GET_FAST(k1); BZ_RAND_UPD_MASK; |
|
|
0 |
0 |
BZ_GET_FAST(k1); BZ_RAND_UPD_MASK; |
|
|
0 |
0 |
BZ_GET_FAST(k1); BZ_RAND_UPD_MASK; |
|
589
|
0 |
0 |
BZ_GET_FAST(s->k0); BZ_RAND_UPD_MASK; |
|
|
0 |
0 |
BZ_GET_FAST(s->k0); BZ_RAND_UPD_MASK; |
|
|
0 |
0 |
BZ_GET_FAST(s->k0); BZ_RAND_UPD_MASK; |
|
615
|
14521 |
29 |
if (c_state_out_len > 0) { |
|
617
|
0 |
43030 |
if (cs_avail_out == 0) goto return_notr; |
|
618
|
14521 |
28509 |
if (c_state_out_len == 1) break; |
|
627
|
34 |
435054 |
if (cs_avail_out == 0) { |
|
637
|
0 |
435083 |
if (c_nblock_used > s_save_nblockPP) |
|
641
|
29 |
435054 |
if (c_nblock_used == s_save_nblockPP) { |
|
645
|
0 |
435054 |
BZ_GET_FAST_C(k1); c_nblock_used++; |
|
646
|
420567 |
14487 |
if (k1 != c_k0) { |
|
649
|
0 |
14487 |
if (c_nblock_used == s_save_nblockPP) |
|
653
|
0 |
14487 |
BZ_GET_FAST_C(k1); c_nblock_used++; |
|
654
|
0 |
14487 |
if (c_nblock_used == s_save_nblockPP) continue; |
|
655
|
465 |
14022 |
if (k1 != c_k0) { c_k0 = k1; continue; }; |
|
658
|
0 |
14022 |
BZ_GET_FAST_C(k1); c_nblock_used++; |
|
659
|
0 |
14022 |
if (c_nblock_used == s_save_nblockPP) continue; |
|
660
|
14022 |
0 |
if (k1 != c_k0) { c_k0 = k1; continue; }; |
|
662
|
0 |
0 |
BZ_GET_FAST_C(k1); c_nblock_used++; |
|
664
|
0 |
0 |
BZ_GET_FAST_C(c_k0); c_nblock_used++; |
|
670
|
0 |
63 |
if (s->strm->total_out_lo32 < total_out_lo32_old) |
|
701
|
0 |
0 |
if (indx >= cftab[mid]) nb = mid; else na = mid; |
|
703
|
0 |
0 |
while (na - nb != 1); |
|
717
|
0 |
0 |
if (s->blockRandomised) { |
|
722
|
0 |
0 |
if (s->strm->avail_out == 0) return False; |
|
723
|
0 |
0 |
if (s->state_out_len == 0) break; |
|
730
|
0 |
0 |
if (s->strm->total_out_lo32 == 0) s->strm->total_out_hi32++; |
|
734
|
0 |
0 |
if (s->nblock_used == s->save_nblock+1) return False; |
|
737
|
0 |
0 |
if (s->nblock_used > s->save_nblock+1) |
|
742
|
0 |
0 |
BZ_GET_SMALL(k1); BZ_RAND_UPD_MASK; |
|
|
0 |
0 |
BZ_GET_SMALL(k1); BZ_RAND_UPD_MASK; |
|
|
0 |
0 |
BZ_GET_SMALL(k1); BZ_RAND_UPD_MASK; |
|
744
|
0 |
0 |
if (s->nblock_used == s->save_nblock+1) continue; |
|
745
|
0 |
0 |
if (k1 != s->k0) { s->k0 = k1; continue; }; |
|
748
|
0 |
0 |
BZ_GET_SMALL(k1); BZ_RAND_UPD_MASK; |
|
|
0 |
0 |
BZ_GET_SMALL(k1); BZ_RAND_UPD_MASK; |
|
|
0 |
0 |
BZ_GET_SMALL(k1); BZ_RAND_UPD_MASK; |
|
750
|
0 |
0 |
if (s->nblock_used == s->save_nblock+1) continue; |
|
751
|
0 |
0 |
if (k1 != s->k0) { s->k0 = k1; continue; }; |
|
754
|
0 |
0 |
BZ_GET_SMALL(k1); BZ_RAND_UPD_MASK; |
|
|
0 |
0 |
BZ_GET_SMALL(k1); BZ_RAND_UPD_MASK; |
|
|
0 |
0 |
BZ_GET_SMALL(k1); BZ_RAND_UPD_MASK; |
|
756
|
0 |
0 |
if (s->nblock_used == s->save_nblock+1) continue; |
|
757
|
0 |
0 |
if (k1 != s->k0) { s->k0 = k1; continue; }; |
|
759
|
0 |
0 |
BZ_GET_SMALL(k1); BZ_RAND_UPD_MASK; |
|
|
0 |
0 |
BZ_GET_SMALL(k1); BZ_RAND_UPD_MASK; |
|
|
0 |
0 |
BZ_GET_SMALL(k1); BZ_RAND_UPD_MASK; |
|
762
|
0 |
0 |
BZ_GET_SMALL(s->k0); BZ_RAND_UPD_MASK; |
|
|
0 |
0 |
BZ_GET_SMALL(s->k0); BZ_RAND_UPD_MASK; |
|
|
0 |
0 |
BZ_GET_SMALL(s->k0); BZ_RAND_UPD_MASK; |
|
771
|
0 |
0 |
if (s->strm->avail_out == 0) return False; |
|
772
|
0 |
0 |
if (s->state_out_len == 0) break; |
|
779
|
0 |
0 |
if (s->strm->total_out_lo32 == 0) s->strm->total_out_hi32++; |
|
783
|
0 |
0 |
if (s->nblock_used == s->save_nblock+1) return False; |
|
786
|
0 |
0 |
if (s->nblock_used > s->save_nblock+1) |
|
791
|
0 |
0 |
BZ_GET_SMALL(k1); s->nblock_used++; |
|
792
|
0 |
0 |
if (s->nblock_used == s->save_nblock+1) continue; |
|
793
|
0 |
0 |
if (k1 != s->k0) { s->k0 = k1; continue; }; |
|
796
|
0 |
0 |
BZ_GET_SMALL(k1); s->nblock_used++; |
|
797
|
0 |
0 |
if (s->nblock_used == s->save_nblock+1) continue; |
|
798
|
0 |
0 |
if (k1 != s->k0) { s->k0 = k1; continue; }; |
|
801
|
0 |
0 |
BZ_GET_SMALL(k1); s->nblock_used++; |
|
802
|
0 |
0 |
if (s->nblock_used == s->save_nblock+1) continue; |
|
803
|
0 |
0 |
if (k1 != s->k0) { s->k0 = k1; continue; }; |
|
805
|
0 |
0 |
BZ_GET_SMALL(k1); s->nblock_used++; |
|
807
|
0 |
0 |
BZ_GET_SMALL(s->k0); s->nblock_used++; |
|
819
|
0 |
51146 |
if (strm == NULL) return BZ_PARAM_ERROR; |
|
821
|
0 |
51146 |
if (s == NULL) return BZ_PARAM_ERROR; |
|
822
|
0 |
51146 |
if (s->strm != strm) return BZ_PARAM_ERROR; |
|
825
|
0 |
51175 |
if (s->state == BZ_X_IDLE) return BZ_SEQUENCE_ERROR; |
|
826
|
63 |
51112 |
if (s->state == BZ_X_OUTPUT) { |
|
827
|
0 |
63 |
if (s->smallDecompress) |
|
830
|
0 |
63 |
if (corrupt) return BZ_DATA_ERROR; |
|
831
|
29 |
34 |
if (s->nblock_used == s->save_nblock+1 && s->state_out_len == 0) { |
|
|
29 |
0 |
if (s->nblock_used == s->save_nblock+1 && s->state_out_len == 0) { |
|
837
|
0 |
29 |
if (s->calculatedBlockCRC != s->storedBlockCRC) |
|
848
|
51141 |
0 |
if (s->state >= BZ_X_MAGIC_1) { |
|
850
|
29 |
51112 |
if (r == BZ_STREAM_END) { |
|
854
|
0 |
29 |
if (s->calculatedCombinedCRC != s->storedCombinedCRC) |
|
858
|
51083 |
29 |
if (s->state != BZ_X_OUTPUT) return r; |
|
870
|
0 |
30 |
if (strm == NULL) return BZ_PARAM_ERROR; |
|
872
|
0 |
30 |
if (s == NULL) return BZ_PARAM_ERROR; |
|
873
|
0 |
30 |
if (s->strm != strm) return BZ_PARAM_ERROR; |
|
875
|
29 |
1 |
if (s->tt != NULL) BZFREE(s->tt); |
|
876
|
0 |
30 |
if (s->ll16 != NULL) BZFREE(s->ll16); |
|
877
|
0 |
30 |
if (s->ll4 != NULL) BZFREE(s->ll4); |
|
1264
|
0 |
0 |
if (dest == NULL || destLen == NULL || |
|
|
0 |
0 |
if (dest == NULL || destLen == NULL || |
|
|
0 |
0 |
if (dest == NULL || destLen == NULL || |
|
1265
|
0 |
0 |
source == NULL || |
|
1266
|
0 |
0 |
blockSize100k < 1 || blockSize100k > 9 || |
|
|
0 |
0 |
blockSize100k < 1 || blockSize100k > 9 || |
|
1267
|
0 |
0 |
verbosity < 0 || verbosity > 4 || |
|
|
0 |
0 |
verbosity < 0 || verbosity > 4 || |
|
1268
|
0 |
0 |
workFactor < 0 || workFactor > 250) |
|
1271
|
0 |
0 |
if (workFactor == 0) workFactor = 30; |
|
1277
|
0 |
0 |
if (ret != BZ_OK) return ret; |
|
1285
|
0 |
0 |
if (ret == BZ_FINISH_OK) goto output_overflow; |
|
1286
|
0 |
0 |
if (ret != BZ_STREAM_END) goto errhandler; |
|
1315
|
0 |
0 |
if (dest == NULL || destLen == NULL || |
|
|
0 |
0 |
if (dest == NULL || destLen == NULL || |
|
|
0 |
0 |
if (dest == NULL || destLen == NULL || |
|
1316
|
0 |
0 |
source == NULL || |
|
1317
|
0 |
0 |
(small != 0 && small != 1) || |
|
|
0 |
0 |
(small != 0 && small != 1) || |
|
1318
|
0 |
0 |
verbosity < 0 || verbosity > 4) |
|
1325
|
0 |
0 |
if (ret != BZ_OK) return ret; |
|
1333
|
0 |
0 |
if (ret == BZ_OK) goto output_overflow_or_eof; |
|
1334
|
0 |
0 |
if (ret != BZ_STREAM_END) goto errhandler; |
|
1342
|
0 |
0 |
if (strm.avail_out > 0) { |