summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorChris Young <chris@unsatisfactorysoftware.co.uk>2009-12-19 12:38:41 +0000
committerChris Young <chris@unsatisfactorysoftware.co.uk>2009-12-19 12:38:41 +0000
commitec0957b03709c7f85bb5ecc0ad35160e2ea5077a (patch)
tree154d616c170be9f2efd9963e0f851610b195b90c /src
parent2183cfcb2cbe85532b711b0696cf05311603b0a9 (diff)
downloadlibnsbmp-ec0957b03709c7f85bb5ecc0ad35160e2ea5077a.tar.gz
libnsbmp-ec0957b03709c7f85bb5ecc0ad35160e2ea5077a.tar.bz2
Fix ICO decoding on big-endian platforms.
svn path=/trunk/libnsbmp/; revision=9741
Diffstat (limited to 'src')
-rw-r--r--src/libnsbmp.c5
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;
}
}