From d82cd23ef5a96360e93417823de79c29520c2151 Mon Sep 17 00:00:00 2001 From: gewlitys Date: Sun, 12 Oct 2008 01:34:39 +0000 Subject: [PATCH] Endian fix for zip detection git-svn-id: svn://svn.code.sf.net/p/sc2/code/trunk@3085 8092fc87-c524-0410-9efc-e669fe64eaf9 --- sc2/src/sc2code/libs/graphics/sdl/3do_getbody.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/sc2/src/sc2code/libs/graphics/sdl/3do_getbody.c b/sc2/src/sc2code/libs/graphics/sdl/3do_getbody.c index a13316af7..6855a7c8c 100644 --- a/sc2/src/sc2code/libs/graphics/sdl/3do_getbody.c +++ b/sc2/src/sc2code/libs/graphics/sdl/3do_getbody.c @@ -391,7 +391,8 @@ _GetCelData (uio_Stream *fp, DWORD length) char *s1, *s2; char aniDirName[PATH_MAX]; const char *aniFileName; - uint32 header = 0; + uint8 buf[4] = { 0, 0, 0, 0 }; + uint32 header; if (_cur_resfile_name == 0 || (((s2 = 0), (s1 = strrchr (_cur_resfile_name, '/')) == 0) @@ -406,8 +407,9 @@ _GetCelData (uio_Stream *fp, DWORD length) n = s1 - _cur_resfile_name + 1; } - uio_fread(&header, 4, 1, fp); - if (_cur_resfile_name && header == 0x04034b50) + uio_fread(buf, 4, 1, fp); + header = buf[0] | (buf[1] << 8) | (buf[2] << 16) | (buf[3] << 24); + if (_cur_resfile_name && header == 0x04034b50) { // zipped ani file if (n)