diff options
author | Chris Young <chris@unsatisfactorysoftware.co.uk> | 2009-12-19 12:38:41 +0000 |
---|---|---|
committer | Chris Young <chris@unsatisfactorysoftware.co.uk> | 2009-12-19 12:38:41 +0000 |
commit | ec0957b03709c7f85bb5ecc0ad35160e2ea5077a (patch) | |
tree | 154d616c170be9f2efd9963e0f851610b195b90c | |
parent | 2183cfcb2cbe85532b711b0696cf05311603b0a9 (diff) | |
download | libnsbmp-ec0957b03709c7f85bb5ecc0ad35160e2ea5077a.tar.gz libnsbmp-ec0957b03709c7f85bb5ecc0ad35160e2ea5077a.tar.bz2 |
Fix ICO decoding on big-endian platforms.
svn path=/trunk/libnsbmp/; revision=9741
-rw-r--r-- | src/libnsbmp.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/libnsbmp.c b/src/libnsbmp.c index e6be68a..d47792e 100644 --- a/src/libnsbmp.c +++ b/src/libnsbmp.c @@ -928,8 +928,11 @@ static bmp_result bmp_decode_mask(bmp_image *bmp, uint8_t *data, int bytes) { for (x = 0; x < bmp->width; x++) { if ((x & 7) == 0) cur_byte = *data++; - if ((cur_byte & 128) == 0) + if ((cur_byte & 128) == 0) { + scanline[x] = read_uint32((uint8_t *)&scanline[x], 0); scanline[x] |= (0xff << 24); + scanline[x] = read_uint32((uint8_t *)&scanline[x], 0); + } cur_byte = cur_byte << 1; } } |