300 |
|
* is it specified what we should assume for missing pixels. This |
301 |
|
* is undoubtedly the most brain-dead format I've ever encountered. |
302 |
|
*/ |
303 |
< |
sp = br->scanline; |
303 |
> |
sp = (int8 *)br->scanline; |
304 |
|
n = br->hdr->width; |
305 |
|
if (br->hdr->compr == BI_RLE4) |
306 |
|
n = (n + 1) >> 1; |
548 |
|
n = 8; |
549 |
|
else |
550 |
|
return NULL; |
551 |
+ |
/* XXX VC warns about 32 bit shift coerced to 64 bit */ |
552 |
|
hdr = (BMPHeader *)malloc(sizeof(BMPHeader) + |
553 |
|
sizeof(RGBquad)*(1<<n) - |
554 |
|
sizeof(hdr->palette) + |
564 |
|
hdr->nColors = ncolors; |
565 |
|
hdr->impColors = 0; /* says all colors important */ |
566 |
|
hdr->infoSiz = infolen; |
567 |
+ |
/* XXX VC warns about 32 bit shift coerced to 64 bit */ |
568 |
|
memset((void *)hdr->palette, 0, sizeof(RGBquad)*(1<<n) + infolen); |
569 |
|
for (n = ncolors; n--; ) |
570 |
|
hdr->palette[n].r = hdr->palette[n].g = |
738 |
|
* (0x0000) except for the last, which ends in a bitmap break |
739 |
|
* (0x0001). We don't support RLE4 at all; it's too awkward. |
740 |
|
*/ |
741 |
< |
sp = bw->scanline; |
741 |
> |
sp = (const int8 *)bw->scanline; |
742 |
|
n = bw->hdr->width; |
743 |
|
while (n > 0) { |
744 |
|
int cnt, val; |