--- ../release/nsis-2.17-src/SCons/Config/gnu 2006-04-28 08:54:41.000000000 -0700
+++ ./SCons/Config/gnu 2006-07-31 05:48:44.000000000 -0700
@@ -65,7 +65,7 @@
- cross_env(stub_env)
-
- if not defenv['DEBUG']:
-- stub_env.Append(CCFLAGS = '-Os') # optimize for size
-+ stub_env.Append(CCFLAGS = '-Os -fno-strict-aliasing') # optimize for size
- stub_env.Append(CCFLAGS = '-Wall') # all warnings
- stub_env.Append(CCFLAGS = '-x c') # force compile as c
-
+ cross_env(stub_env)\r
+ \r
+ if not defenv['DEBUG']:\r
+- stub_env.Append(CCFLAGS = '-Os') # optimize for size\r
++ stub_env.Append(CCFLAGS = '-Os -fno-strict-aliasing') # optimize for size\r
+ stub_env.Append(CCFLAGS = '-Wall') # all warnings\r
+ stub_env.Append(CCFLAGS = '-x c') # force compile as c\r
+ \r
@@ -82,7 +82,7 @@
- makensis_env = defenv.Copy()
-
- if not defenv['DEBUG']:
-- makensis_env.Append(CCFLAGS = '-O2') # optimize
-+ makensis_env.Append(CCFLAGS = '-O2 -fno-strict-aliasing') # optimize
- makensis_env.Append(CCFLAGS = '-Wall') # all warnings
-
- conf = FlagsConfigure(makensis_env)
+ makensis_env = defenv.Copy()\r
+ \r
+ if not defenv['DEBUG']:\r
+- makensis_env.Append(CCFLAGS = '-O2') # optimize\r
++ makensis_env.Append(CCFLAGS = '-O2 -fno-strict-aliasing') # optimize\r
+ makensis_env.Append(CCFLAGS = '-Wall') # all warnings\r
+ \r
+ conf = FlagsConfigure(makensis_env)\r
@@ -97,7 +97,7 @@
- cross_env(plugin_env)
-
- if not defenv['DEBUG']:
-- plugin_env.Append(CCFLAGS = '-Os') # optimize for size
-+ plugin_env.Append(CCFLAGS = '-Os -fno-strict-aliasing') # optimize for size
- plugin_env.Append(CCFLAGS = '-Wall') # level 3 warnings
-
- if not defenv['DEBUG']:
+ cross_env(plugin_env)\r
+ \r
+ if not defenv['DEBUG']:\r
+- plugin_env.Append(CCFLAGS = '-Os') # optimize for size\r
++ plugin_env.Append(CCFLAGS = '-Os -fno-strict-aliasing') # optimize for size\r
+ plugin_env.Append(CCFLAGS = '-Wall') # level 3 warnings\r
+ \r
+ if not defenv['DEBUG']:\r
@@ -111,7 +111,7 @@
- cp_util_env = defenv.Copy()
-
- if not defenv['DEBUG']:
-- cp_util_env.Append(CCFLAGS = '-O2') # optimize
-+ cp_util_env.Append(CCFLAGS = '-O2 -fno-strict-aliasing') # optimize
- cp_util_env.Append(CCFLAGS = '-Wall') # all warnings
-
- conf = FlagsConfigure(cp_util_env)
+ cp_util_env = defenv.Copy()\r
+ \r
+ if not defenv['DEBUG']:\r
+- cp_util_env.Append(CCFLAGS = '-O2') # optimize\r
++ cp_util_env.Append(CCFLAGS = '-O2 -fno-strict-aliasing') # optimize\r
+ cp_util_env.Append(CCFLAGS = '-Wall') # all warnings\r
+ \r
+ conf = FlagsConfigure(cp_util_env)\r
Index: Source/build.cpp
--- ../release/nsis-2.17-src/Source/build.cpp 2006-04-14 03:05:01.000000000 -0700
+++ ./Source/build.cpp 2006-07-31 13:26:38.000000000 -0700
@@ -2384,7 +2384,7 @@
- return PS_ERROR;
- }
- #ifdef NSIS_CONFIG_CRC_SUPPORT
-- crc_writer_sink crc_sink((unsigned long *) &crc);
-+ crc_writer_sink crc_sink((unsigned int *) &crc);
- firstheader_writer w(&crc_sink);
- w.write(&fh);
-
+ return PS_ERROR;\r
+ }\r
+ #ifdef NSIS_CONFIG_CRC_SUPPORT\r
+- crc_writer_sink crc_sink((unsigned long *) &crc);\r
++ crc_writer_sink crc_sink((unsigned int *) &crc);\r
+ firstheader_writer w(&crc_sink);\r
+ w.write(&fh);\r
+ \r
Index: Source/build.h
--- ../release/nsis-2.17-src/Source/build.h 2005-04-02 04:04:06.000000000 -0800
+++ ./Source/build.h 2006-07-31 13:28:44.000000000 -0700
@@ -38,7 +38,7 @@
- #ifdef NSIS_CONFIG_CRC_SUPPORT
- extern "C"
- {
-- unsigned long NSISCALL CRC32(unsigned long crc, const unsigned char *buf, unsigned int len);
-+ unsigned int NSISCALL CRC32(unsigned int crc, const unsigned char *buf, unsigned int len);
- };
- #endif
-
+ #ifdef NSIS_CONFIG_CRC_SUPPORT\r
+ extern "C"\r
+ {\r
+- unsigned long NSISCALL CRC32(unsigned long crc, const unsigned char *buf, unsigned int len);\r
++ unsigned int NSISCALL CRC32(unsigned int crc, const unsigned char *buf, unsigned int len);\r
+ };\r
+ #endif\r
+ \r
Index: Source/crc32.c
--- ../release/nsis-2.17-src/Source/crc32.c 2004-03-12 12:43:54.000000000 -0800
+++ ./Source/crc32.c 2006-07-31 13:27:12.000000000 -0700
@@ -3,18 +3,18 @@
- #ifdef NSIS_CONFIG_CRC_SUPPORT
-
- // this is based on the (slow,small) CRC32 implementation from zlib.
--unsigned long NSISCALL CRC32(unsigned long crc, const unsigned char *buf, unsigned int len)
-+unsigned int NSISCALL CRC32(unsigned int crc, const unsigned char *buf, unsigned int len)
- {
-- static unsigned long crc_table[256];
-+ static unsigned int crc_table[256];
-
- if (!crc_table[1])
- {
-- unsigned long c;
-+ unsigned int c;
- int n, k;
-
- for (n = 0; n < 256; n++)
- {
-- c = (unsigned long)n;
-+ c = (unsigned int)n;
- for (k = 0; k < 8; k++) c = (c >> 1) ^ (c & 1 ? 0xedb88320L : 0);
- crc_table[n] = c;
- }
+ #ifdef NSIS_CONFIG_CRC_SUPPORT\r
+ \r
+ // this is based on the (slow,small) CRC32 implementation from zlib.\r
+-unsigned long NSISCALL CRC32(unsigned long crc, const unsigned char *buf, unsigned int len)\r
++unsigned int NSISCALL CRC32(unsigned int crc, const unsigned char *buf, unsigned int len)\r
+ {\r
+- static unsigned long crc_table[256];\r
++ static unsigned int crc_table[256];\r
+ \r
+ if (!crc_table[1])\r
+ {\r
+- unsigned long c;\r
++ unsigned int c;\r
+ int n, k;\r
+ \r
+ for (n = 0; n < 256; n++)\r
+ {\r
+- c = (unsigned long)n;\r
++ c = (unsigned int)n;\r
+ for (k = 0; k < 8; k++) c = (c >> 1) ^ (c & 1 ? 0xedb88320L : 0);\r
+ crc_table[n] = c;\r
+ }\r
Index: Source/DialogTemplate.cpp
--- ../release/nsis-2.17-src/Source/DialogTemplate.cpp 2006-03-24 10:36:24.000000000 -0800
+++ ./Source/DialogTemplate.cpp 2006-07-31 05:48:44.000000000 -0700
@@ -93,7 +93,7 @@
- if (IS_INTRESOURCE(x)) { \
- *(WORD*)seeker = 0xFFFF; \
- seeker += sizeof(WORD); \
-- *(WORD*)seeker = ConvertEndianness(WORD(DWORD(x))); \
-+ *(WORD*)seeker = ConvertEndianness(WORD(ULONG_PTR(x))); \
- seeker += sizeof(WORD); \
- } \
- else { \
+ if (IS_INTRESOURCE(x)) { \\r
+ *(WORD*)seeker = 0xFFFF; \\r
+ seeker += sizeof(WORD); \\r
+- *(WORD*)seeker = ConvertEndianness(WORD(DWORD(x))); \\r
++ *(WORD*)seeker = ConvertEndianness(WORD(ULONG_PTR(x))); \\r
+ seeker += sizeof(WORD); \\r
+ } \\r
+ else { \\r
@@ -629,7 +629,7 @@
- }
- }
-
-- assert((DWORD) seeker - (DWORD) pbDlg == dwSize);
-+ assert((ULONG_PTR) seeker - (ULONG_PTR) pbDlg == dwSize);
-
- // DONE!
- return pbDlg;
+ }\r
+ }\r
+ \r
+- assert((DWORD) seeker - (DWORD) pbDlg == dwSize);\r
++ assert((ULONG_PTR) seeker - (ULONG_PTR) pbDlg == dwSize);\r
+ \r
+ // DONE!\r
+ return pbDlg;\r
Index: Source/exehead/fileform.c
--- ../release/nsis-2.17-src/Source/exehead/fileform.c 2005-09-09 09:08:44.000000000 -0700
+++ ./Source/exehead/fileform.c 2006-07-31 13:26:08.000000000 -0700
@@ -95,7 +95,7 @@
- static z_stream g_inflate_stream;
- #endif
-
--extern unsigned long NSISCALL CRC32(unsigned long crc, const unsigned char *buf, unsigned int len);
-+extern unsigned int NSISCALL CRC32(unsigned int crc, const unsigned char *buf, unsigned int len);
-
- const char * NSISCALL loadHeaders(int cl_flags)
- {
+ static z_stream g_inflate_stream;\r
+ #endif\r
+ \r
+-extern unsigned long NSISCALL CRC32(unsigned long crc, const unsigned char *buf, unsigned int len);\r
++extern unsigned int NSISCALL CRC32(unsigned int crc, const unsigned char *buf, unsigned int len);\r
+ \r
+ const char * NSISCALL loadHeaders(int cl_flags)\r
+ {\r
Index: Source/Platform.h
--- ../release/nsis-2.17-src/Source/Platform.h 2006-05-03 08:43:54.000000000 -0700
+++ ./Source/Platform.h 2006-07-31 05:48:44.000000000 -0700
@@ -16,15 +16,15 @@
- // basic types
- typedef unsigned char BYTE, *PBYTE, *LPBYTE;
- typedef unsigned short WORD, *LPWORD;
--typedef unsigned long DWORD, *LPDWORD;
-+typedef unsigned int DWORD, *LPDWORD;
- typedef short SHORT;
- typedef unsigned short USHORT;
- typedef unsigned int UINT;
- typedef unsigned int UINT32;
- typedef int INT;
- typedef int INT32;
--typedef long LONG;
--typedef unsigned long ULONG;
-+typedef int LONG;
-+typedef unsigned int ULONG;
- typedef long long INT64, LARGE_INTEGER;
- typedef unsigned long long UINT64, ULARGE_INTEGER;
- typedef int BOOL, *LPBOOL;
+ // basic types\r
+ typedef unsigned char BYTE, *PBYTE, *LPBYTE;\r
+ typedef unsigned short WORD, *LPWORD;\r
+-typedef unsigned long DWORD, *LPDWORD;\r
++typedef unsigned int DWORD, *LPDWORD;\r
+ typedef short SHORT;\r
+ typedef unsigned short USHORT;\r
+ typedef unsigned int UINT;\r
+ typedef unsigned int UINT32;\r
+ typedef int INT;\r
+ typedef int INT32;\r
+-typedef long LONG;\r
+-typedef unsigned long ULONG;\r
++typedef int LONG;\r
++typedef unsigned int ULONG;\r
+ typedef long long INT64, LARGE_INTEGER;\r
+ typedef unsigned long long UINT64, ULARGE_INTEGER;\r
+ typedef int BOOL, *LPBOOL;\r
@@ -35,13 +35,14 @@
- typedef const char *LPCCH, *PCSTR, *LPCSTR;
- typedef unsigned short WCHAR, *PWCHAR, *LPWCH, *PWCH, *NWPSTR, *LPWSTR, *PWSTR;
- typedef const unsigned short *LPCWCH, *PCWCH, *LPCWSTR, *PCWSTR;
--typedef unsigned int UINT_PTR;
-+typedef unsigned long UINT_PTR;
-+typedef unsigned long ULONG_PTR;
- // basic stuff
- typedef void * HANDLE;
--typedef unsigned long HKEY;
-+typedef unsigned int HKEY;
- // some gdi
--typedef unsigned long COLORREF;
--typedef unsigned long HBRUSH;
-+typedef unsigned int COLORREF;
-+typedef unsigned int HBRUSH;
- // bool
- # define FALSE 0
- # define TRUE 1
+ typedef const char *LPCCH, *PCSTR, *LPCSTR;\r
+ typedef unsigned short WCHAR, *PWCHAR, *LPWCH, *PWCH, *NWPSTR, *LPWSTR, *PWSTR;\r
+ typedef const unsigned short *LPCWCH, *PCWCH, *LPCWSTR, *PCWSTR;\r
+-typedef unsigned int UINT_PTR;\r
++typedef unsigned long UINT_PTR;\r
++typedef unsigned long ULONG_PTR;\r
+ // basic stuff\r
+ typedef void * HANDLE;\r
+-typedef unsigned long HKEY;\r
++typedef unsigned int HKEY;\r
+ // some gdi\r
+-typedef unsigned long COLORREF;\r
+-typedef unsigned long HBRUSH;\r
++typedef unsigned int COLORREF;\r
++typedef unsigned int HBRUSH;\r
+ // bool\r
+ # define FALSE 0\r
+ # define TRUE 1\r
@@ -129,13 +130,13 @@
-
- #ifndef _WIN32
- # ifndef FIELD_OFFSET
--# define FIELD_OFFSET(t,f) ((LONG)&(((t*)0)->f))
-+# define FIELD_OFFSET(t,f) ((ULONG_PTR)&(((t*)0)->f))
- # endif
- # ifndef MAKEINTRESOURCE
- # define MAKEINTRESOURCE(i) (LPSTR)((DWORD)((WORD)(i)))
- # endif
- # ifndef IMAGE_FIRST_SECTION
--# define IMAGE_FIRST_SECTION(h) ( PIMAGE_SECTION_HEADER( (DWORD) h + \
-+# define IMAGE_FIRST_SECTION(h) ( PIMAGE_SECTION_HEADER( (ULONG_PTR) h + \
- FIELD_OFFSET(IMAGE_NT_HEADERS, OptionalHeader) + \
- FIX_ENDIAN_INT16(PIMAGE_NT_HEADERS(h)->FileHeader.SizeOfOptionalHeader) ) )
- # endif
+ \r
+ #ifndef _WIN32\r
+ # ifndef FIELD_OFFSET\r
+-# define FIELD_OFFSET(t,f) ((LONG)&(((t*)0)->f))\r
++# define FIELD_OFFSET(t,f) ((ULONG_PTR)&(((t*)0)->f))\r
+ # endif\r
+ # ifndef MAKEINTRESOURCE\r
+ # define MAKEINTRESOURCE(i) (LPSTR)((DWORD)((WORD)(i)))\r
+ # endif\r
+ # ifndef IMAGE_FIRST_SECTION\r
+-# define IMAGE_FIRST_SECTION(h) ( PIMAGE_SECTION_HEADER( (DWORD) h + \\r
++# define IMAGE_FIRST_SECTION(h) ( PIMAGE_SECTION_HEADER( (ULONG_PTR) h + \\r
+ FIELD_OFFSET(IMAGE_NT_HEADERS, OptionalHeader) + \\r
+ FIX_ENDIAN_INT16(PIMAGE_NT_HEADERS(h)->FileHeader.SizeOfOptionalHeader) ) )\r
+ # endif\r
@@ -166,9 +167,9 @@
- # define FOF_NOERRORUI 0x0400
- #endif
-
--#ifndef ULONG_PTR
--# define ULONG_PTR DWORD
--#endif
-+//#ifndef ULONG_PTR
-+//# define ULONG_PTR ULONG
-+//#endif
-
- #ifndef IDC_HAND
- # define IDC_HAND MAKEINTRESOURCE(32649)
+ # define FOF_NOERRORUI 0x0400\r
+ #endif\r
+ \r
+-#ifndef ULONG_PTR\r
+-# define ULONG_PTR DWORD\r
+-#endif\r
++//#ifndef ULONG_PTR\r
++//# define ULONG_PTR ULONG\r
++//#endif\r
+ \r
+ #ifndef IDC_HAND\r
+ # define IDC_HAND MAKEINTRESOURCE(32649)\r
Index: Source/Plugins.cpp
--- ../release/nsis-2.17-src/Source/Plugins.cpp 2006-04-05 11:42:12.000000000 -0700
+++ ./Source/Plugins.cpp 2006-07-31 06:50:08.000000000 -0700
@@ -120,8 +120,8 @@
- DWORD prd = FIX_ENDIAN_INT32(sections[i].PointerToRawData);
- PIMAGE_EXPORT_DIRECTORY exports = PIMAGE_EXPORT_DIRECTORY(&dlldata[0] + prd + ExportDirVA - va);
- DWORD na = FIX_ENDIAN_INT32(exports->AddressOfNames);
-- unsigned long *names = (unsigned long*)((unsigned long) exports + (char *) na - ExportDirVA);
-- for (unsigned long j = 0; j < FIX_ENDIAN_INT32(exports->NumberOfNames); j++)
-+ unsigned int *names = (unsigned int*)((unsigned long) exports + (char *) na - ExportDirVA);
-+ for (unsigned int j = 0; j < FIX_ENDIAN_INT32(exports->NumberOfNames); j++)
- {
- const string name = string((char*)exports + FIX_ENDIAN_INT32(names[j]) - ExportDirVA);
- const string signature = dllName + "::" + name;
+ DWORD prd = FIX_ENDIAN_INT32(sections[i].PointerToRawData);\r
+ PIMAGE_EXPORT_DIRECTORY exports = PIMAGE_EXPORT_DIRECTORY(&dlldata[0] + prd + ExportDirVA - va);\r
+ DWORD na = FIX_ENDIAN_INT32(exports->AddressOfNames);\r
+- unsigned long *names = (unsigned long*)((unsigned long) exports + (char *) na - ExportDirVA);\r
+- for (unsigned long j = 0; j < FIX_ENDIAN_INT32(exports->NumberOfNames); j++)\r
++ unsigned int *names = (unsigned int*)((unsigned long) exports + (char *) na - ExportDirVA);\r
++ for (unsigned int j = 0; j < FIX_ENDIAN_INT32(exports->NumberOfNames); j++)\r
+ {\r
+ const string name = string((char*)exports + FIX_ENDIAN_INT32(names[j]) - ExportDirVA);\r
+ const string signature = dllName + "::" + name;\r
Index: Source/ResourceEditor.cpp
--- ../release/nsis-2.17-src/Source/ResourceEditor.cpp 2006-04-05 11:40:09.000000000 -0700
+++ ./Source/ResourceEditor.cpp 2006-07-31 05:48:44.000000000 -0700
@@ -545,7 +545,7 @@
- rdDir.NumberOfIdEntries = ConvertEndianness(rdDir.NumberOfIdEntries);
-
- CopyMemory(seeker, &rdDir, sizeof(IMAGE_RESOURCE_DIRECTORY));
-- crd->m_dwWrittenAt = DWORD(seeker);
-+ crd->m_dwWrittenAt = ULONG_PTR(seeker);
- seeker += sizeof(IMAGE_RESOURCE_DIRECTORY);
-
- for (int i = 0; i < crd->CountEntries(); i++) {
+ rdDir.NumberOfIdEntries = ConvertEndianness(rdDir.NumberOfIdEntries);\r
+ \r
+ CopyMemory(seeker, &rdDir, sizeof(IMAGE_RESOURCE_DIRECTORY));\r
+- crd->m_dwWrittenAt = DWORD(seeker);\r
++ crd->m_dwWrittenAt = ULONG_PTR(seeker);\r
+ seeker += sizeof(IMAGE_RESOURCE_DIRECTORY);\r
+ \r
+ for (int i = 0; i < crd->CountEntries(); i++) {\r
@@ -566,7 +566,7 @@
- rDirE.NameString.NameIsString = (crd->GetEntry(i)->HasName()) ? 1 : 0;
-
- CopyMemory(seeker, &rDirE, sizeof(MY_IMAGE_RESOURCE_DIRECTORY_ENTRY));
-- crd->GetEntry(i)->m_dwWrittenAt = DWORD(seeker);
-+ crd->GetEntry(i)->m_dwWrittenAt = ULONG_PTR(seeker);
- seeker += sizeof(MY_IMAGE_RESOURCE_DIRECTORY_ENTRY);
- }
- qDirs.pop();
+ rDirE.NameString.NameIsString = (crd->GetEntry(i)->HasName()) ? 1 : 0;\r
+ \r
+ CopyMemory(seeker, &rDirE, sizeof(MY_IMAGE_RESOURCE_DIRECTORY_ENTRY));\r
+- crd->GetEntry(i)->m_dwWrittenAt = DWORD(seeker);\r
++ crd->GetEntry(i)->m_dwWrittenAt = ULONG_PTR(seeker);\r
+ seeker += sizeof(MY_IMAGE_RESOURCE_DIRECTORY_ENTRY);\r
+ }\r
+ qDirs.pop();\r
@@ -582,7 +582,7 @@
- rDataE.Size = ConvertEndianness(cRDataE->GetSize());
-
- CopyMemory(seeker, &rDataE, sizeof(IMAGE_RESOURCE_DATA_ENTRY));
-- cRDataE->m_dwWrittenAt = DWORD(seeker);
-+ cRDataE->m_dwWrittenAt = ULONG_PTR(seeker);
- seeker += sizeof(IMAGE_RESOURCE_DATA_ENTRY);
-
- qDataEntries.pop();
+ rDataE.Size = ConvertEndianness(cRDataE->GetSize());\r
+ \r
+ CopyMemory(seeker, &rDataE, sizeof(IMAGE_RESOURCE_DATA_ENTRY));\r
+- cRDataE->m_dwWrittenAt = DWORD(seeker);\r
++ cRDataE->m_dwWrittenAt = ULONG_PTR(seeker);\r
+ seeker += sizeof(IMAGE_RESOURCE_DATA_ENTRY);\r
+ \r
+ qDataEntries.pop();\r
@@ -594,7 +594,7 @@
- while (!qStrings.empty()) {
- CResourceDirectoryEntry* cRDirE = qStrings.front();
-
-- PMY_IMAGE_RESOURCE_DIRECTORY_ENTRY(cRDirE->m_dwWrittenAt)->NameString.NameOffset = ConvertEndianness(DWORD(seeker) - DWORD(pbRsrcSec));
-+ PMY_IMAGE_RESOURCE_DIRECTORY_ENTRY(cRDirE->m_dwWrittenAt)->NameString.NameOffset = ConvertEndianness(DWORD(ULONG_PTR(seeker) - ULONG_PTR(pbRsrcSec)));
-
- char* szName = cRDirE->GetName();
- WORD iLen = strlen(szName) + 1;
+ while (!qStrings.empty()) {\r
+ CResourceDirectoryEntry* cRDirE = qStrings.front();\r
+ \r
+- PMY_IMAGE_RESOURCE_DIRECTORY_ENTRY(cRDirE->m_dwWrittenAt)->NameString.NameOffset = ConvertEndianness(DWORD(seeker) - DWORD(pbRsrcSec));\r
++ PMY_IMAGE_RESOURCE_DIRECTORY_ENTRY(cRDirE->m_dwWrittenAt)->NameString.NameOffset = ConvertEndianness(DWORD(ULONG_PTR(seeker) - ULONG_PTR(pbRsrcSec)));\r
+ \r
+ char* szName = cRDirE->GetName();\r
+ WORD iLen = strlen(szName) + 1;\r
@@ -626,7 +626,7 @@
- while (!qDataEntries2.empty()) {
- CResourceDataEntry* cRDataE = qDataEntries2.front();
- CopyMemory(seeker, cRDataE->GetData(), cRDataE->GetSize());
-- PIMAGE_RESOURCE_DATA_ENTRY(cRDataE->m_dwWrittenAt)->OffsetToData = ConvertEndianness(seeker - pbRsrcSec + m_dwResourceSectionVA);
-+ PIMAGE_RESOURCE_DATA_ENTRY(cRDataE->m_dwWrittenAt)->OffsetToData = ConvertEndianness(DWORD(seeker - pbRsrcSec + m_dwResourceSectionVA));
-
- seeker += RALIGN(cRDataE->GetSize(), 8);
-
+ while (!qDataEntries2.empty()) {\r
+ CResourceDataEntry* cRDataE = qDataEntries2.front();\r
+ CopyMemory(seeker, cRDataE->GetData(), cRDataE->GetSize());\r
+- PIMAGE_RESOURCE_DATA_ENTRY(cRDataE->m_dwWrittenAt)->OffsetToData = ConvertEndianness(seeker - pbRsrcSec + m_dwResourceSectionVA);\r
++ PIMAGE_RESOURCE_DATA_ENTRY(cRDataE->m_dwWrittenAt)->OffsetToData = ConvertEndianness(DWORD(seeker - pbRsrcSec + m_dwResourceSectionVA));\r
+ \r
+ seeker += RALIGN(cRDataE->GetSize(), 8);\r
+ \r
@@ -636,7 +636,7 @@
- /*
- * Set all of the directory entries offsets.
- */
-- SetOffsets(m_cResDir, DWORD(pbRsrcSec));
-+ SetOffsets(m_cResDir, ULONG_PTR(pbRsrcSec));
- }
-
- // Sets the offsets in directory entries
+ /*\r
+ * Set all of the directory entries offsets.\r
+ */\r
+- SetOffsets(m_cResDir, DWORD(pbRsrcSec));\r
++ SetOffsets(m_cResDir, ULONG_PTR(pbRsrcSec));\r
+ }\r
+ \r
+ // Sets the offsets in directory entries\r
@@ -650,7 +650,7 @@
- SetOffsets(resDir->GetEntry(i)->GetSubDirectory(), newResDirAt);
- }
- else {
-- rde->OffsetToData = ConvertEndianness(resDir->GetEntry(i)->GetDataEntry()->m_dwWrittenAt - newResDirAt);
-+ rde->OffsetToData = ConvertEndianness(DWORD(resDir->GetEntry(i)->GetDataEntry()->m_dwWrittenAt - newResDirAt));
- }
- }
- }
+ SetOffsets(resDir->GetEntry(i)->GetSubDirectory(), newResDirAt);\r
+ }\r
+ else {\r
+- rde->OffsetToData = ConvertEndianness(resDir->GetEntry(i)->GetDataEntry()->m_dwWrittenAt - newResDirAt);\r
++ rde->OffsetToData = ConvertEndianness(DWORD(resDir->GetEntry(i)->GetDataEntry()->m_dwWrittenAt - newResDirAt));\r
+ }\r
+ }\r
+ }\r
@@ -758,7 +758,7 @@
- // Returns -1 if can not be found
- int CResourceDirectory::Find(char* szName) {
- if (IS_INTRESOURCE(szName))
-- return Find((WORD) (DWORD) szName);
-+ return Find((WORD) (ULONG_PTR) szName);
- else
- if (szName[0] == '#')
- return Find(WORD(atoi(szName + 1)));
+ // Returns -1 if can not be found\r
+ int CResourceDirectory::Find(char* szName) {\r
+ if (IS_INTRESOURCE(szName))\r
+- return Find((WORD) (DWORD) szName);\r
++ return Find((WORD) (ULONG_PTR) szName);\r
+ else\r
+ if (szName[0] == '#')\r
+ return Find(WORD(atoi(szName + 1)));\r
@@ -836,7 +836,7 @@
- if (IS_INTRESOURCE(szName)) {
- m_bHasName = false;
- m_szName = 0;
-- m_wId = (WORD) (DWORD) szName;
-+ m_wId = (WORD) (ULONG_PTR) szName;
- }
- else {
- m_bHasName = true;
+ if (IS_INTRESOURCE(szName)) {\r
+ m_bHasName = false;\r
+ m_szName = 0;\r
+- m_wId = (WORD) (DWORD) szName;\r
++ m_wId = (WORD) (ULONG_PTR) szName;\r
+ }\r
+ else {\r
+ m_bHasName = true;\r
@@ -851,7 +851,7 @@
- if (IS_INTRESOURCE(szName)) {
- m_bHasName = false;
- m_szName = 0;
-- m_wId = (WORD) (DWORD) szName;
-+ m_wId = (WORD) (ULONG_PTR) szName;
- }
- else {
- m_bHasName = true;
+ if (IS_INTRESOURCE(szName)) {\r
+ m_bHasName = false;\r
+ m_szName = 0;\r
+- m_wId = (WORD) (DWORD) szName;\r
++ m_wId = (WORD) (ULONG_PTR) szName;\r
+ }\r
+ else {\r
+ m_bHasName = true;\r
Index: Source/ResourceEditor.h
--- ../release/nsis-2.17-src/Source/ResourceEditor.h 2006-04-28 08:54:42.000000000 -0700
+++ ./Source/ResourceEditor.h 2006-07-31 05:48:44.000000000 -0700
@@ -173,7 +173,7 @@
-
- void Destroy();
-
-- DWORD m_dwWrittenAt;
-+ ULONG_PTR m_dwWrittenAt;
-
- private:
- IMAGE_RESOURCE_DIRECTORY m_rdDir;
+ \r
+ void Destroy();\r
+ \r
+- DWORD m_dwWrittenAt;\r
++ ULONG_PTR m_dwWrittenAt;\r
+ \r
+ private:\r
+ IMAGE_RESOURCE_DIRECTORY m_rdDir;\r
@@ -197,7 +197,7 @@
-
- CResourceDataEntry* GetDataEntry();
-
-- DWORD m_dwWrittenAt;
-+ ULONG_PTR m_dwWrittenAt;
-
- private:
- bool m_bHasName;
+ \r
+ CResourceDataEntry* GetDataEntry();\r
+ \r
+- DWORD m_dwWrittenAt;\r
++ ULONG_PTR m_dwWrittenAt;\r
+ \r
+ private:\r
+ bool m_bHasName;\r
@@ -226,7 +226,7 @@
- DWORD GetSize();
- DWORD GetCodePage();
-
-- DWORD m_dwWrittenAt;
-+ ULONG_PTR m_dwWrittenAt;
-
- private:
- BYTE* m_pbData;
+ DWORD GetSize();\r
+ DWORD GetCodePage();\r
+ \r
+- DWORD m_dwWrittenAt;\r
++ ULONG_PTR m_dwWrittenAt;\r
+ \r
+ private:\r
+ BYTE* m_pbData;\r
Index: Source/script.cpp
--- ../release/nsis-2.17-src/Source/script.cpp 2006-03-28 10:22:34.000000000 -0800
+++ ./Source/script.cpp 2006-07-31 20:56:03.000000000 -0700
@@ -4748,8 +4748,8 @@
- {
- struct
- {
-- long l;
-- long h;
-+ int l;
-+ int h;
- } words;
- long long ll;
- };
+ {\r
+ struct\r
+ {\r
+- long l;\r
+- long h;\r
++ int l;\r
++ int h;\r
+ } words;\r
+ long long ll;\r
+ };\r
@@ -6075,8 +6075,8 @@
- {
- struct
- {
-- long l;
-- long h;
-+ int l;
-+ int h;
- } words;
- long long ll;
- };
+ {\r
+ struct\r
+ {\r
+- long l;\r
+- long h;\r
++ int l;\r
++ int h;\r
+ } words;\r
+ long long ll;\r
+ };\r
Index: Source/util.cpp
--- ../release/nsis-2.17-src/Source/util.cpp 2006-04-28 08:54:42.000000000 -0700
+++ ./Source/util.cpp 2006-07-31 05:48:44.000000000 -0700
@@ -312,7 +312,7 @@
- FIX_ENDIAN_INT32_INPLACE(rdEntry.OffsetToData);
- MY_ASSERT(!rdEntry.DirectoryOffset.DataIsDirectory, "bad resource directory");
-
-- PRESOURCE_DIRECTORY rdIcons = PRESOURCE_DIRECTORY(rdEntry.DirectoryOffset.OffsetToDirectory + DWORD(rdRoot));
-+ PRESOURCE_DIRECTORY rdIcons = PRESOURCE_DIRECTORY(rdEntry.DirectoryOffset.OffsetToDirectory + ULONG_PTR(rdRoot));
-
- MY_ASSERT((size_t)rdIcons - (size_t)exeHeader > exeHeaderSize, "corrupted EXE - invalid pointer");
-
+ FIX_ENDIAN_INT32_INPLACE(rdEntry.OffsetToData);\r
+ MY_ASSERT(!rdEntry.DirectoryOffset.DataIsDirectory, "bad resource directory");\r
+ \r
+- PRESOURCE_DIRECTORY rdIcons = PRESOURCE_DIRECTORY(rdEntry.DirectoryOffset.OffsetToDirectory + DWORD(rdRoot));\r
++ PRESOURCE_DIRECTORY rdIcons = PRESOURCE_DIRECTORY(rdEntry.DirectoryOffset.OffsetToDirectory + ULONG_PTR(rdRoot));\r
+ \r
+ MY_ASSERT((size_t)rdIcons - (size_t)exeHeader > exeHeaderSize, "corrupted EXE - invalid pointer");\r
+ \r
@@ -325,7 +325,7 @@
- FIX_ENDIAN_INT32_INPLACE(icoEntry.OffsetToData);
-
- MY_ASSERT(!icoEntry.DirectoryOffset.DataIsDirectory, "bad resource directory");
-- PRESOURCE_DIRECTORY rd = PRESOURCE_DIRECTORY(icoEntry.DirectoryOffset.OffsetToDirectory + DWORD(rdRoot));
-+ PRESOURCE_DIRECTORY rd = PRESOURCE_DIRECTORY(icoEntry.DirectoryOffset.OffsetToDirectory + ULONG_PTR(rdRoot));
-
- MY_ASSERT((size_t)rd - (size_t)exeHeader > exeHeaderSize, "corrupted EXE - invalid pointer");
-
+ FIX_ENDIAN_INT32_INPLACE(icoEntry.OffsetToData);\r
+ \r
+ MY_ASSERT(!icoEntry.DirectoryOffset.DataIsDirectory, "bad resource directory");\r
+- PRESOURCE_DIRECTORY rd = PRESOURCE_DIRECTORY(icoEntry.DirectoryOffset.OffsetToDirectory + DWORD(rdRoot));\r
++ PRESOURCE_DIRECTORY rd = PRESOURCE_DIRECTORY(icoEntry.DirectoryOffset.OffsetToDirectory + ULONG_PTR(rdRoot));\r
+ \r
+ MY_ASSERT((size_t)rd - (size_t)exeHeader > exeHeaderSize, "corrupted EXE - invalid pointer");\r
+ \r
@@ -334,7 +334,7 @@
-
- MY_ASSERT(datEntry.DirectoryOffset.DataIsDirectory, "bad resource directory");
-
-- PIMAGE_RESOURCE_DATA_ENTRY rde = PIMAGE_RESOURCE_DATA_ENTRY(datEntry.OffsetToData + DWORD(rdRoot));
-+ PIMAGE_RESOURCE_DATA_ENTRY rde = PIMAGE_RESOURCE_DATA_ENTRY(datEntry.OffsetToData + ULONG_PTR(rdRoot));
-
- MY_ASSERT((size_t)rde - (size_t)exeHeader > exeHeaderSize, "corrupted EXE - invalid pointer");
-
+ \r
+ MY_ASSERT(datEntry.DirectoryOffset.DataIsDirectory, "bad resource directory");\r
+ \r
+- PIMAGE_RESOURCE_DATA_ENTRY rde = PIMAGE_RESOURCE_DATA_ENTRY(datEntry.OffsetToData + DWORD(rdRoot));\r
++ PIMAGE_RESOURCE_DATA_ENTRY rde = PIMAGE_RESOURCE_DATA_ENTRY(datEntry.OffsetToData + ULONG_PTR(rdRoot));\r
+ \r
+ MY_ASSERT((size_t)rde - (size_t)exeHeader > exeHeaderSize, "corrupted EXE - invalid pointer");\r
+ \r
@@ -355,10 +355,10 @@
- }
-
- // Set offset
-- DWORD dwOffset = FIX_ENDIAN_INT32(rde->OffsetToData) + DWORD(rdRoot) - dwResourceSectionVA - DWORD(exeHeader);
-+ DWORD dwOffset = FIX_ENDIAN_INT32(rde->OffsetToData) + ULONG_PTR(rdRoot) - dwResourceSectionVA - ULONG_PTR(exeHeader);
- *(LPDWORD) seeker = FIX_ENDIAN_INT32(dwOffset);
-
-- MY_ASSERT(dwOffset > exeHeaderSize || dwOffset < (DWORD)rdRoot - (DWORD)exeHeader, "invalid data offset - icon resource probably compressed");
-+ MY_ASSERT(dwOffset > exeHeaderSize || dwOffset < (ULONG_PTR)rdRoot - (ULONG_PTR)exeHeader, "invalid data offset - icon resource probably compressed");
- }
-
- LPBYTE seeker = uninstIconData;
+ }\r
+ \r
+ // Set offset\r
+- DWORD dwOffset = FIX_ENDIAN_INT32(rde->OffsetToData) + DWORD(rdRoot) - dwResourceSectionVA - DWORD(exeHeader);\r
++ DWORD dwOffset = FIX_ENDIAN_INT32(rde->OffsetToData) + ULONG_PTR(rdRoot) - dwResourceSectionVA - ULONG_PTR(exeHeader);\r
+ *(LPDWORD) seeker = FIX_ENDIAN_INT32(dwOffset);\r
+ \r
+- MY_ASSERT(dwOffset > exeHeaderSize || dwOffset < (DWORD)rdRoot - (DWORD)exeHeader, "invalid data offset - icon resource probably compressed");\r
++ MY_ASSERT(dwOffset > exeHeaderSize || dwOffset < (ULONG_PTR)rdRoot - (ULONG_PTR)exeHeader, "invalid data offset - icon resource probably compressed");\r
+ }\r
+ \r
+ LPBYTE seeker = uninstIconData;\r
Index: Source/writer.cpp
--- ../release/nsis-2.17-src/Source/writer.cpp 2006-03-11 03:13:07.000000000 -0800
+++ ./Source/writer.cpp 2006-07-31 13:27:37.000000000 -0700
@@ -64,7 +64,7 @@
- }
-
- #ifdef NSIS_CONFIG_CRC_SUPPORT
--extern "C" unsigned long NSISCALL CRC32(unsigned long crc, const unsigned char *buf, unsigned int len);
-+extern "C" unsigned int NSISCALL CRC32(unsigned int crc, const unsigned char *buf, unsigned int len);
-
- void crc_writer_sink::write_data(const void *data, const size_t size)
- {
+ }\r
+ \r
+ #ifdef NSIS_CONFIG_CRC_SUPPORT\r
+-extern "C" unsigned long NSISCALL CRC32(unsigned long crc, const unsigned char *buf, unsigned int len);\r
++extern "C" unsigned int NSISCALL CRC32(unsigned int crc, const unsigned char *buf, unsigned int len);\r
+ \r
+ void crc_writer_sink::write_data(const void *data, const size_t size)\r
+ {\r
Index: Source/writer.h
--- ../release/nsis-2.17-src/Source/writer.h 2006-03-11 03:13:07.000000000 -0800
+++ ./Source/writer.h 2006-07-31 13:27:58.000000000 -0700
@@ -57,12 +57,12 @@
- #ifdef NSIS_CONFIG_CRC_SUPPORT
- class crc_writer_sink : public writer_sink {
- public:
-- crc_writer_sink(unsigned long *crc) : m_crc(crc) {}
-+ crc_writer_sink(unsigned int *crc) : m_crc(crc) {}
-
- virtual void write_data(const void *data, const size_t size);
-
- private:
-- unsigned long *m_crc;
-+ unsigned int *m_crc;
-
- };
- #endif
+ #ifdef NSIS_CONFIG_CRC_SUPPORT\r
+ class crc_writer_sink : public writer_sink {\r
+ public:\r
+- crc_writer_sink(unsigned long *crc) : m_crc(crc) {}\r
++ crc_writer_sink(unsigned int *crc) : m_crc(crc) {}\r
+ \r
+ virtual void write_data(const void *data, const size_t size);\r
+ \r
+ private:\r
+- unsigned long *m_crc;\r
++ unsigned int *m_crc;\r
+ \r
+ };\r
+ #endif\r