| line |
true |
false |
branch |
|
84
|
13 |
12 |
if (im->type == i_direct_type) { |
|
91
|
12 |
0 |
pal_size = i_colorcount(im); |
|
92
|
4 |
8 |
if (pal_size <= 2) { |
|
95
|
4 |
4 |
else if (pal_size <= 16) { |
|
127
|
1 |
103 |
if (!read_packed(ig, "CCVvvVVV!V!vvVVVVVV", &b_magic, &m_magic, &filesize, |
|
135
|
103 |
0 |
if (b_magic != 'B' || m_magic != 'M' || infohead_size != INFOHEAD_SIZE |
|
|
103 |
0 |
if (b_magic != 'B' || m_magic != 'M' || infohead_size != INFOHEAD_SIZE |
|
|
103 |
0 |
if (b_magic != 'B' || m_magic != 'M' || infohead_size != INFOHEAD_SIZE |
|
136
|
1 |
102 |
|| planes != 1) { |
|
148
|
8 |
94 |
if (!i_int_check_image_file_limits(xsize, abs((int)ysize), 3, sizeof(i_sample_t))) { |
|
181
|
58 |
35 |
if (im) { |
|
183
|
58 |
0 |
if (xres && !yres) |
|
|
0 |
58 |
if (xres && !yres) |
|
185
|
58 |
0 |
else if (yres && !xres) |
|
|
0 |
58 |
else if (yres && !xres) |
|
187
|
58 |
0 |
if (xres) { |
|
232
|
145505 |
125192 |
while (*format) { |
|
233
|
144162 |
1343 |
p = va_arg(ap, i_packed_t *); |
|
237
|
207 |
145298 |
if (shrieking) ++format; |
|
241
|
0 |
414 |
if (i_io_read(ig, buf, 2) != 2) |
|
244
|
0 |
414 |
if (shrieking) |
|
251
|
1 |
1136 |
if (i_io_read(ig, buf, 4) != 4) |
|
254
|
206 |
930 |
if (shrieking) |
|
261
|
3 |
25074 |
if (i_io_read(ig, buf, 1) != 1) |
|
267
|
0 |
0 |
if (i_io_read(ig, buf, 1) != 1) |
|
273
|
3 |
118874 |
if (i_io_read(ig, buf, 3) != 3) |
|
311
|
2390 |
525 |
while (*format) { |
|
312
|
2117 |
273 |
i = va_arg(ap, i_upacked_t); |
|
318
|
0 |
84 |
if (i_io_write(ig, buf, 2) == -1) |
|
327
|
0 |
231 |
if (i_io_write(ig, buf, 4) == -1) |
|
334
|
7 |
2068 |
if (i_io_write(ig, buf, 1) == -1) |
|
373
|
25 |
0 |
if (im->xsize > SIGNMAX32 || im->ysize > SIGNMAX32) { |
|
|
0 |
25 |
if (im->xsize > SIGNMAX32 || im->ysize > SIGNMAX32) { |
|
380
|
25 |
0 |
if (!i_tags_get_int(&im->tags, "i_aspect_only", 0,&aspect_only)) |
|
382
|
12 |
13 |
if (!got_xres) { |
|
383
|
12 |
0 |
if (!got_yres) |
|
389
|
0 |
13 |
if (!got_yres) |
|
392
|
25 |
0 |
if (xres <= 0 || yres <= 0) |
|
|
0 |
25 |
if (xres <= 0 || yres <= 0) |
|
394
|
0 |
25 |
if (aspect_only) { |
|
397
|
0 |
0 |
if (xres < yres) { |
|
410
|
12 |
13 |
if (im->type == i_palette_type) { |
|
411
|
12 |
0 |
colors_used = i_colorcount(im); |
|
415
|
4 |
21 |
if (!write_packed(ig, "CCVvvVVVVvvVVVVVV", 'B', 'M', |
|
427
|
9 |
12 |
if (im->type == i_palette_type) { |
|
431
|
507 |
6 |
for (i = 0; i < colors_used; ++i) { |
|
432
|
507 |
0 |
i_getcolors(im, i, &c, 1); |
|
433
|
507 |
0 |
if (im->channels >= 3) { |
|
434
|
3 |
504 |
if (!write_packed(ig, "CCCC", (i_upacked_t)(c.channel[2]), |
|
443
|
0 |
0 |
if (!write_packed(ig, "CCCC", v, v, v, 0)) { |
|
478
|
2 |
2 |
if (!write_bmphead(ig, im, 1, line_size * im->ysize)) |
|
483
|
0 |
2 |
if (unpacked_size < im->xsize) { |
|
495
|
151 |
1 |
for (y = im->ysize-1; y >= 0; --y) { |
|
496
|
151 |
0 |
i_gpal(im, 0, im->xsize, y, line); |
|
500
|
22520 |
151 |
for (x = 0; x < im->xsize; ++x) { |
|
501
|
6962 |
15558 |
if (line[x]) |
|
503
|
2702 |
19818 |
if ((mask >>= 1) == 0) { |
|
509
|
151 |
0 |
if (mask != 0x80) { |
|
512
|
1 |
150 |
if (i_io_write(ig, packed, line_size) < 0) { |
|
522
|
0 |
1 |
if (i_io_close(ig)) |
|
550
|
2 |
2 |
if (!write_bmphead(ig, im, 4, line_size * im->ysize)) |
|
555
|
0 |
2 |
if (unpacked_size < im->xsize) { |
|
567
|
151 |
1 |
for (y = im->ysize-1; y >= 0; --y) { |
|
568
|
151 |
0 |
i_gpal(im, 0, im->xsize, y, line); |
|
570
|
11260 |
151 |
for (x = 0; x < im->xsize; x += 2) { |
|
573
|
1 |
150 |
if (i_io_write(ig, packed, line_size) < 0) { |
|
583
|
0 |
1 |
if (i_io_close(ig)) |
|
609
|
2 |
2 |
if (!write_bmphead(ig, im, 8, line_size * im->ysize)) |
|
614
|
0 |
2 |
if (unpacked_size < im->xsize) { |
|
621
|
151 |
1 |
for (y = im->ysize-1; y >= 0; --y) { |
|
622
|
151 |
0 |
i_gpal(im, 0, im->xsize, y, line); |
|
623
|
1 |
150 |
if (i_io_write(ig, line, line_size) < 0) { |
|
631
|
0 |
1 |
if (i_io_close(ig)) |
|
658
|
0 |
13 |
if (line_size / 3 != im->xsize) { |
|
665
|
1 |
12 |
if (!write_bmphead(ig, im, 24, line_size * im->ysize)) |
|
669
|
1533 |
11 |
for (y = im->ysize-1; y >= 0; --y) { |
|
673
|
238132 |
1533 |
for (x = 0; x < im->xsize; ++x) { |
|
679
|
1 |
1532 |
if (i_io_write(ig, samples, line_size) < 0) { |
|
687
|
1 |
10 |
if (i_io_close(ig)) |
|
709
|
6218 |
56 |
for (i = 0; i < count; ++i) { |
|
710
|
3 |
6215 |
if (!read_packed(ig, "CCCC", &b, &g, &r, &x)) { |
|
717
|
6215 |
0 |
if (i_addcolors(im, &c, 1) < 0) { |
|
|
0 |
6215 |
if (i_addcolors(im, &c, 1) < 0) { |
|
748
|
1 |
15 |
if (compression != BI_RGB) { |
|
753
|
0 |
15 |
if ((i_img_dim)((i_img_dim_u)xsize + 8) < xsize) { /* if there was overflow */ |
|
764
|
14 |
1 |
if (ysize > 0) { |
|
777
|
0 |
15 |
if (!clr_used) |
|
779
|
15 |
0 |
if (clr_used < 0 || clr_used > 2) { |
|
|
1 |
14 |
if (clr_used < 0 || clr_used > 2) { |
|
785
|
1 |
13 |
if (offbits < base_offset) { |
|
791
|
0 |
13 |
if (!im) |
|
793
|
1 |
12 |
if (!read_bmp_pal(ig, im, clr_used)) { |
|
798
|
2 |
10 |
if (offbits > base_offset) { |
|
802
|
7 |
1 |
while (base_offset < offbits) { |
|
803
|
1 |
6 |
if (i_io_read(ig, &buffer, 1) != 1) { |
|
816
|
328 |
8 |
while (y != lasty) { |
|
817
|
3 |
325 |
if (i_io_read(ig, packed, line_size) != line_size) { |
|
820
|
1 |
2 |
if (allow_incomplete) { |
|
834
|
26000 |
325 |
for (x = 0; x < xsize; ++x) { |
|
837
|
3050 |
22950 |
if (!bit) { |
|
842
|
325 |
0 |
i_ppal(im, 0, xsize, y, line); |
|
881
|
24 |
2 |
if (ysize > 0) { |
|
894
|
0 |
26 |
if (!clr_used) |
|
897
|
24 |
2 |
if (clr_used > 16 || clr_used < 0) { |
|
|
0 |
24 |
if (clr_used > 16 || clr_used < 0) { |
|
903
|
1 |
23 |
if (offbits < base_offset) { |
|
909
|
0 |
23 |
if (!im) /* error should have been pushed already */ |
|
911
|
1 |
22 |
if (!read_bmp_pal(ig, im, clr_used)) { |
|
916
|
2 |
20 |
if (offbits > base_offset) { |
|
920
|
7 |
1 |
while (base_offset < offbits) { |
|
921
|
1 |
6 |
if (i_io_read(ig, &buffer, 1) != 1) { |
|
930
|
21 |
0 |
if (line_size < 260) |
|
936
|
11 |
10 |
if (compression == BI_RGB) { |
|
938
|
323 |
8 |
while (y != lasty) { |
|
939
|
3 |
320 |
if (i_io_read(ig, packed, line_size) != line_size) { |
|
942
|
1 |
2 |
if (allow_incomplete) { |
|
955
|
12950 |
320 |
for (x = 0; x < xsize; x+=2) { |
|
960
|
320 |
0 |
i_ppal(im, 0, xsize, y, line); |
|
966
|
9 |
1 |
else if (compression == BI_RLE4) { |
|
975
|
2 |
3586 |
if (i_io_read(ig, packed, 2) != 2) { |
|
978
|
1 |
1 |
if (allow_incomplete) { |
|
989
|
2726 |
860 |
else if (packed[0]) { |
|
991
|
1 |
2725 |
if (x + count > xlimit) { |
|
1002
|
40426 |
2725 |
for (i = 0; i < count; i += 2) |
|
1004
|
40426 |
2725 |
for (i = 1; i < count; i += 2) |
|
1006
|
2725 |
0 |
i_ppal(im, x, x+count, y, line); |
|
1021
|
0 |
0 |
if (i_io_read(ig, packed, 2) != 2) { |
|
1024
|
0 |
0 |
if (allow_incomplete) { |
|
1041
|
1 |
294 |
if (x + count > xlimit) { |
|
1053
|
2 |
292 |
if (i_io_read(ig, packed, read_size) != read_size) { |
|
1056
|
1 |
1 |
if (allow_incomplete) { |
|
1067
|
864 |
292 |
for (i = 0; i < size; ++i) { |
|
1070
|
864 |
0 |
i_ppal(im, x, x+2, y, line); |
|
1109
|
0 |
25 |
if (line_size < xsize) { /* if it overflowed (unlikely, but check) */ |
|
1114
|
23 |
2 |
if (ysize > 0) { |
|
1127
|
0 |
25 |
if (!clr_used) |
|
1129
|
24 |
1 |
if (clr_used > 256 || clr_used < 0) { |
|
|
0 |
24 |
if (clr_used > 256 || clr_used < 0) { |
|
1135
|
1 |
23 |
if (offbits < base_offset) { |
|
1141
|
0 |
23 |
if (!im) |
|
1143
|
1 |
22 |
if (!read_bmp_pal(ig, im, clr_used)) { |
|
1148
|
2 |
20 |
if (offbits > base_offset) { |
|
1152
|
7 |
1 |
while (base_offset < offbits) { |
|
1153
|
1 |
6 |
if (i_io_read(ig, &buffer, 1) != 1) { |
|
1163
|
11 |
10 |
if (compression == BI_RGB) { |
|
1165
|
320 |
8 |
while (y != lasty) { |
|
1166
|
3 |
317 |
if (i_io_read(ig, line, line_size) != line_size) { |
|
1168
|
1 |
2 |
if (allow_incomplete) { |
|
1179
|
317 |
0 |
i_ppal(im, 0, xsize, y, line); |
|
1184
|
9 |
1 |
else if (compression == BI_RLE8) { |
|
1193
|
2 |
3608 |
if (i_io_read(ig, packed, 2) != 2) { |
|
1195
|
1 |
1 |
if (allow_incomplete) { |
|
1206
|
2296 |
1312 |
if (packed[0]) { |
|
1207
|
1 |
2295 |
if (x + packed[0] > xsize) { |
|
1215
|
2295 |
0 |
i_ppal(im, x, x+packed[0], y, line); |
|
1229
|
0 |
0 |
if (i_io_read(ig, packed, 2) != 2) { |
|
1231
|
0 |
0 |
if (allow_incomplete) { |
|
1248
|
1 |
768 |
if (x + count > xsize) { |
|
1257
|
2 |
766 |
if (i_io_read(ig, line, read_size) != read_size) { |
|
1259
|
1 |
1 |
if (allow_incomplete) { |
|
1270
|
766 |
0 |
i_ppal(im, x, x+count, y, line); |
|
1360
|
25 |
1 |
if (ysize > 0) { |
|
1373
|
25 |
1 |
if (compression == BI_RGB) { |
|
1378
|
0 |
25 |
for (i = 0; i < clr_used; ++clr_used) { |
|
1380
|
0 |
0 |
if (i_io_read(ig, buf, 4) != 4) { |
|
1387
|
0 |
1 |
else if (compression == BI_BITFIELDS) { |
|
1392
|
0 |
0 |
for (i = 0; i < 3; ++i) { |
|
1394
|
0 |
0 |
if (!read_packed(ig, "V", &rmask)) { |
|
1398
|
0 |
0 |
if (rmask == 0) { |
|
1406
|
0 |
0 |
while (!(bits & 1)) { |
|
1412
|
0 |
0 |
while (bits & 1) { |
|
1427
|
1 |
24 |
if (offbits < base_offset) { |
|
1432
|
2 |
22 |
if (offbits > base_offset) { |
|
1436
|
7 |
1 |
while (base_offset < offbits) { |
|
1437
|
1 |
6 |
if (i_io_read(ig, &buffer, 1) != 1) { |
|
1446
|
0 |
23 |
if (!im) |
|
1454
|
0 |
23 |
if (bytes / sizeof(i_color) != xsize) { |
|
1460
|
1076 |
20 |
while (y != lasty) { |
|
1462
|
118877 |
1073 |
for (x = 0; x < xsize; ++x) { |
|
1464
|
3 |
118874 |
if (!read_packed(ig, unpack_code, &pixel)) { |
|
1466
|
1 |
2 |
if (allow_incomplete) { |
|
1477
|
356622 |
118874 |
for (i = 0; i < 3; ++i) { |
|
1480
|
0 |
356622 |
if (bits < 8) { |
|
1483
|
356622 |
0 |
else if (bits) { |
|
1491
|
750 |
323 |
if (extras) |