From 68d58883cc9a18419db70593dbbb6000ae9d0526 Mon Sep 17 00:00:00 2001 From: kichik Date: Sat, 11 Mar 2006 18:12:30 +0000 Subject: [PATCH] made some resource macros work with big-endian as well git-svn-id: https://svn.code.sf.net/p/nsis/code/NSIS/trunk@4576 212acab6-be3b-0410-9dea-997c60f758d6 --- Source/Platform.h | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/Source/Platform.h b/Source/Platform.h index 2124094b..49853f31 100644 --- a/Source/Platform.h +++ b/Source/Platform.h @@ -135,7 +135,9 @@ typedef WORD LANGID; # define MAKEINTRESOURCE(i) (LPSTR)((DWORD)((WORD)(i))) # endif # ifndef IMAGE_FIRST_SECTION -# define IMAGE_FIRST_SECTION(h) ((PIMAGE_SECTION_HEADER) ((DWORD)h+FIELD_OFFSET(IMAGE_NT_HEADERS,OptionalHeader)+((PIMAGE_NT_HEADERS)(h))->FileHeader.SizeOfOptionalHeader)) +# define IMAGE_FIRST_SECTION(h) ( PIMAGE_SECTION_HEADER( (DWORD) h + \ + FIELD_OFFSET(IMAGE_NT_HEADERS, OptionalHeader) + \ + FIX_ENDIAN_INT16(PIMAGE_NT_HEADERS(h)->FileHeader.SizeOfOptionalHeader) ) ) # endif # ifndef RGB # define RGB(r,g,b) ((DWORD)(((BYTE)(r)|((WORD)(g)<<8))|(((DWORD)(BYTE)(b))<<16))) @@ -613,8 +615,13 @@ typedef WORD LANGID; #ifndef _WIN32 # define IMAGE_NUMBEROF_DIRECTORY_ENTRIES 16 +# ifndef __BIG_ENDIAN__ # define IMAGE_DOS_SIGNATURE 0x5A4D # define IMAGE_NT_SIGNATURE 0x00004550 +# else +# define IMAGE_DOS_SIGNATURE 0x4D5A +# define IMAGE_NT_SIGNATURE 0x50450000 +# endif # define IMAGE_FILE_DLL 8192 # define IMAGE_DIRECTORY_ENTRY_EXPORT 0 # define IMAGE_SIZEOF_SHORT_NAME 8