From 6501ad74fd398189b72acdcf40add693edcd89d2 Mon Sep 17 00:00:00 2001 From: kichik Date: Fri, 7 Nov 2008 22:02:38 +0000 Subject: [PATCH] fixed bug #2166401 - Uninstaller icon errors on big-endian system git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@5759 212acab6-be3b-0410-9dea-997c60f758d6 --- Source/icon.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Source/icon.cpp b/Source/icon.cpp index a899c2a6..c47beb4a 100644 --- a/Source/icon.cpp +++ b/Source/icon.cpp @@ -374,12 +374,12 @@ int generate_unicons_offsets(LPBYTE exeHeader, size_t exeHeaderSize, LPBYTE unin offset = re.GetResourceOffsetA(RT_GROUP_ICON, MAKEINTRESOURCE(wIconId), NSIS_DEFAULT_LANG); - size = *(LPDWORD)seeker; + size = FIX_ENDIAN_INT32(*(LPDWORD)seeker); seeker += sizeof(DWORD); *(LPDWORD) seeker = FIX_ENDIAN_INT32(offset); seeker += sizeof(DWORD); - seeker += FIX_ENDIAN_INT32(size); + seeker += size; WORD icon_index = 1; @@ -394,7 +394,7 @@ int generate_unicons_offsets(LPBYTE exeHeader, size_t exeHeaderSize, LPBYTE unin DWORD real_size = re.GetResourceSizeA(RT_ICON, MAKEINTRESOURCE(icon_index), NSIS_DEFAULT_LANG); - size = *(LPDWORD)seeker; + size = FIX_ENDIAN_INT32(*(LPDWORD)seeker); seeker += sizeof(DWORD); if (real_size < size) @@ -405,7 +405,7 @@ int generate_unicons_offsets(LPBYTE exeHeader, size_t exeHeaderSize, LPBYTE unin *(LPDWORD) seeker = FIX_ENDIAN_INT32(offset); seeker += sizeof(DWORD); - seeker += FIX_ENDIAN_INT32(size); + seeker += size; icon_index++; }