From 7e4902bf6bfcf0acef0889bf4e3fae04a8839079 Mon Sep 17 00:00:00 2001 From: Franklin Wei Date: Wed, 24 Jul 2019 21:01:44 -0400 Subject: quake: fix errorneous endian-correcting reads ef9ee89 introduced Read{Big,Little}{Short,Long,Float} functions to safely read a value in memory. These incorrectly take char*, which causes them to output erroneous 0xff bytes when given bytes with bit 7 set. Change-Id: I9531172301aecfdacae405d2f782f662608ce6df --- apps/plugins/sdl/progs/quake/common.c | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'apps/plugins/sdl/progs/quake/common.c') diff --git a/apps/plugins/sdl/progs/quake/common.c b/apps/plugins/sdl/progs/quake/common.c index 5e842b09ae..5191af8c36 100644 --- a/apps/plugins/sdl/progs/quake/common.c +++ b/apps/plugins/sdl/progs/quake/common.c @@ -499,28 +499,28 @@ float FloatNoSwap (float f) } // safe for unaligned accesses -short ReadLittleShort (char *l) +short ReadLittleShort (unsigned char *l) { return *(l + 0) | (*(l + 1) << 8); } -short ReadBigShort (char *l) +short ReadBigShort (unsigned char *l) { return *(l + 1) | (*(l + 0) << 8); } -int ReadLittleLong (char *l) +int ReadLittleLong (unsigned char *l) { return *(l + 0) | (*(l + 1) << 8) | (*(l + 2) << 16) | (*(l + 3) << 24); } -int ReadBigLong (char *l) +int ReadBigLong (unsigned char *l) { return *(l + 3) | (*(l + 2) << 8) | (*(l + 1) << 16) | (*(l + 0) << 24); } // same -float ReadLittleFloat (char *f) +float ReadLittleFloat (unsigned char *f) { union { @@ -536,7 +536,7 @@ float ReadLittleFloat (char *f) return dat2.f; } -float ReadBigFloat (char *f) +float ReadBigFloat (unsigned char *f) { union { -- cgit v1.2.3