Branch Coverage

Bzip2.xs
Criterion Covered Total %
branch 121 232 52.1


line true false branch
151 0 0 for (i = 0; i < length; ++i) {
175 0 0 if (message)
179 0 0 if (!s) {
187 0 0 if (s->stream.next_in){
194 0 0 if (s->stream.next_out){
208 0 0 printf(" APPEND %s\n", EnDis(FLAG_APPEND_OUTPUT));
209 0 0 printf(" CONSUME %s\n", EnDis(FLAG_CONSUME_INPUT));
210 0 0 printf(" LIMIT %s\n", EnDis(FLAG_LIMIT_OUTPUT));
257 6 51318 SvGETMAGIC(sv);
0 6 SvGETMAGIC(sv);
259 0 51324 if (SvROK(sv)) {
261 0 0 SvGETMAGIC(sv);
0 0 SvGETMAGIC(sv);
262 0 0 switch(SvTYPE(sv)) {
270 0 0 if (SvROK(sv))
274 0 51324 if (!SvOK(sv))
293 356 50990 SvGETMAGIC(sv);
0 356 SvGETMAGIC(sv);
296 18 51328 if (SvROK(sv)) {
298 0 18 SvGETMAGIC(sv);
0 0 SvGETMAGIC(sv);
301 0 18 switch(SvTYPE(sv)) {
309 0 18 if (SvROK(sv))
313 0 51346 if (SvREADONLY(sv) && PL_curcop != &PL_compiling)
0 0 if (SvREADONLY(sv) && PL_curcop != &PL_compiling)
316 24 51322 SvUPGRADE(sv, SVt_PV);
318 30 51316 if (wipe)
338 0 3 if (BZ2_bzlibVersion()[0] != '1')
364 21 0 if ((s = InitStream() )) {
371 0 21 if (err != BZ_OK) {
384 0 21 XPUSHs(obj);
391 13 8 if (GIMME_V == G_ARRAY) {
393 0 13 setDUALstatus(sv, err);
394 0 13 XPUSHs(sv) ;
417 30 0 if ((s = InitStream() )) {
420 0 30 if (err != BZ_OK) {
424 30 0 if (s) {
426 23 7 if (appendOut)
428 16 14 if (consume)
430 7 23 if (limitOutput)
440 0 30 XPUSHs(obj);
447 19 11 if (GIMME_V == G_ARRAY) {
449 0 19 setDUALstatus(sv, err);
450 0 19 XPUSHs(sv) ;
481 0 205 if (DO_UTF8(buf) && !sv_utf8_downgrade(buf, 1))
0 0 if (DO_UTF8(buf) && !sv_utf8_downgrade(buf, 1))
0 0 if (DO_UTF8(buf) && !sv_utf8_downgrade(buf, 1))
490 0 205 if (DO_UTF8(output) && !sv_utf8_downgrade(output, 1))
0 0 if (DO_UTF8(output) && !sv_utf8_downgrade(output, 1))
0 0 if (DO_UTF8(output) && !sv_utf8_downgrade(output, 1))
494 129 76 if((s->flags & FLAG_APPEND_OUTPUT) == FLAG_APPEND_OUTPUT) {
495 1 128 SvOOK_off(output);
503 205 205 while (s->stream.avail_in != 0) {
505 0 205 if (s->stream.avail_out == 0) {
516 0 205 if (RETVAL != BZ_RUN_OK)
524 205 0 if (RETVAL == BZ_RUN_OK) {
527 96 109 SvSETMAGIC(output);
556 0 21 if (DO_UTF8(output) && !sv_utf8_downgrade(output, 1))
0 0 if (DO_UTF8(output) && !sv_utf8_downgrade(output, 1))
0 0 if (DO_UTF8(output) && !sv_utf8_downgrade(output, 1))
559 14 7 if((s->flags & FLAG_APPEND_OUTPUT) == FLAG_APPEND_OUTPUT) {
560 1 13 SvOOK_off(output);
570 18 21 if (s->stream.avail_out == 0) {
585 18 21 if (RETVAL == BZ_STREAM_END || RETVAL < 0 )
18 0 if (RETVAL == BZ_STREAM_END || RETVAL < 0 )
594 21 0 if (RETVAL == BZ_STREAM_END) {
597 4 17 SvSETMAGIC(output);
618 0 2 if (DO_UTF8(output) && !sv_utf8_downgrade(output, 1))
0 0 if (DO_UTF8(output) && !sv_utf8_downgrade(output, 1))
0 0 if (DO_UTF8(output) && !sv_utf8_downgrade(output, 1))
621 0 2 if((s->flags & FLAG_APPEND_OUTPUT) == FLAG_APPEND_OUTPUT) {
622 0 0 SvOOK_off(output);
632 2 2 if (s->stream.avail_out == 0) {
643 2 2 if (RETVAL == BZ_RUN_OK || RETVAL < 0)
2 0 if (RETVAL == BZ_RUN_OK || RETVAL < 0)
658 2 0 if (RETVAL == BZ_RUN_OK) {
661 0 2 SvSETMAGIC(output);
670 0 0 RETVAL = s->stream.total_in_lo32 ;
678 0 0 RETVAL = s->stream.total_out_lo32 ;
686 0 4 RETVAL = s->compressedBytes;
694 0 4 RETVAL = s->uncompressedBytes;
719 51119 0 bool out_utf8 = FALSE;
726 93 51026 if (s->flags & FLAG_CONSUME_INPUT) {
727 1 92 if (SvREADONLY(buf))
732 0 51118 if (DO_UTF8(buf) && !sv_utf8_downgrade(buf, 1))
0 0 if (DO_UTF8(buf) && !sv_utf8_downgrade(buf, 1))
0 0 if (DO_UTF8(buf) && !sv_utf8_downgrade(buf, 1))
743 0 51118 if (DO_UTF8(output))
0 0 if (DO_UTF8(output))
745 0 51118 if (DO_UTF8(output) && !sv_utf8_downgrade(output, 1))
0 0 if (DO_UTF8(output) && !sv_utf8_downgrade(output, 1))
0 0 if (DO_UTF8(output) && !sv_utf8_downgrade(output, 1))
748 51047 71 if((s->flags & FLAG_APPEND_OUTPUT) == FLAG_APPEND_OUTPUT) {
749 1 51046 SvOOK_off(output);
757 51118 0 if (SvLEN(output)) {
760 20 51098 if (s->flags & FLAG_LIMIT_OUTPUT && SvLEN(output) - cur_length - 1 < bufinc)
20 0 if (s->flags & FLAG_LIMIT_OUTPUT && SvLEN(output) - cur_length - 1 < bufinc)
768 51118 0 if (SvLEN(output) > cur_length + 1)
782 21 51118 if (s->stream.avail_out == 0) {
799 51110 29 if (RETVAL != BZ_OK || s->flags & FLAG_LIMIT_OUTPUT)
51097 13 if (RETVAL != BZ_OK || s->flags & FLAG_LIMIT_OUTPUT)
802 21 51076 if (s->stream.avail_out == 0)
805 51076 0 if (s->stream.avail_in == 0) {
813 29 51089 if (RETVAL == BZ_OK || RETVAL == BZ_STREAM_END) {
29 0 if (RETVAL == BZ_OK || RETVAL == BZ_STREAM_END) {
824 0 51118 if (out_utf8)
827 256 50862 SvSETMAGIC(output);
830 92 51026 if (s->flags & FLAG_CONSUME_INPUT) {
833 17 75 if (in)
836 3 89 SvSETMAGIC(buf);
846 0 0 RETVAL = s->bytesInflated;
863 0 0 RETVAL = s->last_error ;
871 10 2 RETVAL = s->stream.total_in_lo32 ;
879 10 8 RETVAL = s->stream.total_out_lo32 ;
887 0 4 RETVAL = s->compressedBytes;
895 0 4 RETVAL = s->uncompressedBytes;