Branch Coverage

bzlib.c
Criterion Covered Total %
branch 147 452 32.5


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) {