Branch Coverage

tga.c
Criterion Covered Total %
branch 154 224 68.7


line true false branch
126 2 0 if (attr_bit_count == 1)
131 0 0 if (attr_bit_count == 8)
174 400 400 val->rgba.a = (buf[1] & 0x80) ? 0 : 255;
223 200 200 buf[1] |= val->rgba.a > 0x7f ? 0 : 0x80;
264 86904 106495 while(i
265 29883 57021 if(memcmp(buf+i*bytepp, buf+(i+1)*bytepp, bytepp) == 0) {
266 0 29883 if (i == length-2) return -1;
267 25987 3896 if (memcmp(buf+(i+1)*bytepp, buf+(i+2)*bytepp,bytepp) == 0)
294 438247 2422 while(i
295 23565 414682 if(memcmp(buf, buf+(i*bytepp), bytepp) != 0) return i;
345 17 0 if (header.bitsperpixel != 8)
351 24 0 if (header.bitsperpixel != 15 && header.bitsperpixel != 16
22 2 if (header.bitsperpixel != 15 && header.bitsperpixel != 16
352 7 15 && header.bitsperpixel != 24 && header.bitsperpixel != 32)
6 1 && header.bitsperpixel != 24 && header.bitsperpixel != 32)
362 0 0 if (header.datatypecode != 1 && header.datatypecode != 9)
0 0 if (header.datatypecode != 1 && header.datatypecode != 9)
368 0 18 switch (header.colourmapdepth) {
435 900 107889 if (!s->compressed) {
436 0 900 if (i_io_read(s->ig, buf, pixels*s->bytepp) != pixels*s->bytepp) return 0;
440 263150 107889 while(cp < pixels) {
442 131575 131575 if (s->len == 0) s->state = NoInit;
445 0 131575 if (i_io_read(s->ig, &s->hdr, 1) != 1) return 0;
448 21876 109699 s->state = (s->hdr & (1<<7)) ? Rle : Raw;
455 21876 109699 if (s->state == Rle && i_io_read(s->ig, s->cval, s->bytepp) != s->bytepp) return 0;
0 21876 if (s->state == Rle && i_io_read(s->ig, s->cval, s->bytepp) != s->bytepp) return 0;
460 796713 295139 for(k=0; kbytepp; j++)
295139 21876 for(k=0; kbytepp; j++)
467 0 109699 if (i_io_read(s->ig, buf+cp*s->bytepp, ml*s->bytepp) != ml*s->bytepp) return 0;
497 150 108917 if (!s->compressed) {
498 0 150 if (i_io_write(s->ig, buf, pixels*s->bytepp) != pixels*s->bytepp) return 0;
502 132482 2422 while(cp < pixels) {
505 106495 25987 tlen = (nxtrip == -1) ? pixels-cp : nxtrip;
506 113319 132482 while(tlen) {
509 0 113319 if (i_io_write(s->ig, &clen, 1) != 1) return 0;
511 0 113319 if (i_io_write(s->ig, buf+cp*s->bytepp, clen*s->bytepp) != clen*s->bytepp) return 0;
515 106495 25987 if (cp >= pixels) break;
517 0 25987 if (tlen <3) continue;
518 26894 25987 while (tlen) {
521 0 26894 if (i_io_write(s->ig, &clen, 1) != 1) return 0;
523 0 26894 if (i_io_write(s->ig, buf+cp*s->bytepp, s->bytepp) != s->bytepp) return 0;
561 1 3 if (i_io_read(ig, palbuf, palbsize) != palbsize) {
568 230 3 for(i=0; i
570 230 0 i_addcolors(img, &val, 1);
595 7 0 size_t palbsize = i_colorcount(img)*bytepp;
598 1094 7 for(i=0; i
600 1094 0 i_getcolors(img, i, &val, 1);
604 0 7 if (i_io_write(ig, palbuf, palbsize) != palbsize) {
645 0 26 if (i_io_read(ig, &headbuf, 18) != 18) {
665 3 23 if (header.idlength) {
668 0 3 if (i_io_read(ig, idstring, header.idlength) != header.idlength) {
683 0 0 if (idstring) myfree(idstring);
690 0 4 if (header.bitsperpixel != 8) {
692 0 0 if (idstring) myfree(idstring);
699 22 0 if ((src.bytepp = bpp_to_bytes(header.bitsperpixel)))
702 0 0 if (idstring) myfree(idstring);
708 0 0 if (idstring) myfree(idstring);
713 0 0 if (idstring) myfree(idstring);
732 4 22 if ((channels = bpp_to_channels(mapped ?
26 0 if ((channels = bpp_to_channels(mapped ?
737 0 0 if (idstring) myfree(idstring);
750 3 23 if (!i_int_check_image_file_limits(width, height, channels,
757 4 19 i_img_pal_new(width, height, channels, 256) :
760 0 23 if (!img) {
761 0 0 if (idstring)
766 3 20 if (idstring) {
778 1 0 if (img) i_img_destroy(img);
786 19 3 if (!mapped) linebuf = mymalloc(width*sizeof(i_color));
788 108789 22 for(y=0; y
789 0 108789 if (!tga_source_read(&src, databuf, width)) {
791 0 0 if (linebuf) myfree(linebuf);
793 0 0 if (img) i_img_destroy(img);
796 450 108339 if (mapped && header.colourmaporigin) for(x=0; x
0 450 if (mapped && header.colourmaporigin) for(x=0; x
0 0 if (mapped && header.colourmaporigin) for(x=0; x
797 450 108339 if (mapped) i_ppal(img, 0, width, header.imagedescriptor & (1<<5) ? y : height-1-y, databuf);
450 0 if (mapped) i_ppal(img, 0, width, header.imagedescriptor & (1<<5) ? y : height-1-y, databuf);
0 450 if (mapped) i_ppal(img, 0, width, header.imagedescriptor & (1<<5) ? y : height-1-y, databuf);
799 483794 108339 for(x=0; x
800 0 108339 i_plin(img, 0, width, header.imagedescriptor & (1<<5) ? y : height-1-y, linebuf);
804 19 3 if (linebuf) myfree(linebuf);
807 3 19 i_tags_addn(&img->tags, "tga_bitspp", 0, mapped?header.colourmapdepth:header.bitsperpixel);
808 16 6 if (src.compressed) i_tags_addn(&img->tags, "compressed", 0, 1);
853 25 1 if (img->xsize > TGA_MAX_DIM || img->ysize > TGA_MAX_DIM) {
1 24 if (img->xsize > TGA_MAX_DIM || img->ysize > TGA_MAX_DIM) {
861 0 0 if (wierdpack) {
871 4 18 bitspp = wierdpack ? 15 : 24;
874 1 0 bitspp = wierdpack ? 16 : 32;
875 1 0 attr_bits = wierdpack ? 1 : 8;
884 16 7 header.datatypecode = mapped ? 1 : img->channels == 1 ? 3 : 2;
0 16 header.datatypecode = mapped ? 1 : img->channels == 1 ? 3 : 2;
885 20 3 header.datatypecode += compress ? 8 : 0;
888 7 16 header.colourmaplength = mapped ? i_colorcount(img) : 0;
7 0 header.colourmaplength = mapped ? i_colorcount(img) : 0;
889 7 16 header.colourmapdepth = mapped ? bitspp : 0;
894 16 7 header.bitsperpixel = mapped ? 8 : bitspp;
899 0 23 if (i_io_write(ig, &headbuf, sizeof(headbuf)) != sizeof(headbuf)) {
904 2 21 if (idlen) {
905 0 2 if (i_io_write(ig, idstring, idlen) != idlen) {
913 16 7 dest.bytepp = mapped ? 1 : bpp_to_bytes(bitspp);
919 7 16 if (img->type == i_palette_type) {
920 7 0 if (!tga_palette_write(ig, img, bitspp, i_colorcount(img))) return 0;
0 7 if (!tga_palette_write(ig, img, bitspp, i_colorcount(img))) return 0;
922 7 0 if (!i_img_virtual(img) && !dest.compressed) {
2 5 if (!i_img_virtual(img) && !dest.compressed) {
923 0 2 if (i_io_write(ig, img->idata, img->bytes) != img->bytes) {
930 750 5 for(y=0; yysize; y++) {
931 750 0 i_gpal(img, 0, img->xsize, y, vals);
938 13 3 size_t bytepp = wierdpack ? 2 : bpp_to_bytes(bitspp);
943 108317 16 for(y=0; yysize; y++) {
945 495990 108317 for(x=0; xxsize; x++) color_pack(buf+x*bytepp, bitspp, vals+x);
952 1 22 if (i_io_close(ig))