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
This commit is contained in:
kichik 2008-11-07 22:02:38 +00:00
parent 4a7976e5a6
commit 6501ad74fd

View file

@ -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++;
}