]> git.sur5r.net Git - bacula/bacula/blob - bacula/src/win32/patches/nsis.patch
Restore win32 dir from Branch-5.2 and update it
[bacula/bacula] / bacula / src / win32 / patches / nsis.patch
1 Index: SCons/Config/gnu
2 --- ../release/nsis-2.17-src/SCons/Config/gnu   2006-04-28 08:54:41.000000000 -0700
3 +++ SCons/Config/gnu    2006-08-07 18:49:47.000000000 -0700
4 @@ -65,7 +65,7 @@
5  cross_env(stub_env)\r
6  \r
7  if not defenv['DEBUG']:\r
8 -       stub_env.Append(CCFLAGS = '-Os')                # optimize for size\r
9 +       stub_env.Append(CCFLAGS = '-Os -fno-strict-aliasing')                # optimize for size\r
10  stub_env.Append(CCFLAGS = '-Wall')                # all warnings\r
11  stub_env.Append(CCFLAGS = '-x c')                 # force compile as c\r
12  \r
13 @@ -82,8 +82,8 @@
14  makensis_env = defenv.Copy()\r
15  \r
16  if not defenv['DEBUG']:\r
17 -       makensis_env.Append(CCFLAGS = '-O2')            # optimize\r
18 +       makensis_env.Append(CCFLAGS = '-O2 -fno-strict-aliasing')            # optimize\r
19  makensis_env.Append(CCFLAGS = '-Wall')            # all warnings\r
20  \r
21  conf = FlagsConfigure(makensis_env)\r
22  conf.CheckLinkFlag('$MAP_FLAG')                   # generate map file\r
23 @@ -97,7 +97,7 @@
24  cross_env(plugin_env)\r
25  \r
26  if not defenv['DEBUG']:\r
27 -       plugin_env.Append(CCFLAGS = '-Os')              # optimize for size\r
28 +       plugin_env.Append(CCFLAGS = '-Os -fno-strict-aliasing')              # optimize for size\r
29  plugin_env.Append(CCFLAGS = '-Wall')              # level 3 warnings\r
30  \r
31  if not defenv['DEBUG']:\r
32 @@ -111,7 +111,7 @@
33  cp_util_env = defenv.Copy()\r
34  \r
35  if not defenv['DEBUG']:\r
36 -       cp_util_env.Append(CCFLAGS = '-O2')             # optimize\r
37 +       cp_util_env.Append(CCFLAGS = '-O2 -fno-strict-aliasing')             # optimize\r
38  cp_util_env.Append(CCFLAGS = '-Wall')             # all warnings\r
39  \r
40  conf = FlagsConfigure(cp_util_env)\r
41 Index: Source/build.cpp
42 --- ../release/nsis-2.17-src/Source/build.cpp   2006-04-14 03:05:01.000000000 -0700
43 +++ ./Source/build.cpp  2006-07-31 13:26:38.000000000 -0700
44 @@ -2384,7 +2384,7 @@
45          return PS_ERROR;\r
46        }\r
47  #ifdef NSIS_CONFIG_CRC_SUPPORT\r
48 -      crc_writer_sink crc_sink((unsigned long *) &crc);\r
49 +      crc_writer_sink crc_sink((unsigned int *) &crc);\r
50        firstheader_writer w(&crc_sink);\r
51        w.write(&fh);\r
52  \r
53 Index: Source/build.h
54 --- ../release/nsis-2.17-src/Source/build.h     2005-04-02 04:04:06.000000000 -0800
55 +++ ./Source/build.h    2006-07-31 13:28:44.000000000 -0700
56 @@ -38,7 +38,7 @@
57  #ifdef NSIS_CONFIG_CRC_SUPPORT\r
58  extern "C"\r
59  {\r
60 -  unsigned long NSISCALL CRC32(unsigned long crc, const unsigned char *buf, unsigned int len);\r
61 +  unsigned int NSISCALL CRC32(unsigned int crc, const unsigned char *buf, unsigned int len);\r
62  };\r
63  #endif\r
64  \r
65 Index: Source/crc32.c
66 --- ../release/nsis-2.17-src/Source/crc32.c     2004-03-12 12:43:54.000000000 -0800
67 +++ ./Source/crc32.c    2006-07-31 13:27:12.000000000 -0700
68 @@ -3,18 +3,18 @@
69  #ifdef NSIS_CONFIG_CRC_SUPPORT\r
70  \r
71  // this is based on the (slow,small) CRC32 implementation from zlib.\r
72 -unsigned long NSISCALL CRC32(unsigned long crc, const unsigned char *buf, unsigned int len)\r
73 +unsigned int NSISCALL CRC32(unsigned int crc, const unsigned char *buf, unsigned int len)\r
74  {\r
75 -    static unsigned long crc_table[256];\r
76 +    static unsigned int crc_table[256];\r
77  \r
78      if (!crc_table[1])\r
79      {\r
80 -      unsigned long c;\r
81 +      unsigned int c;\r
82        int n, k;\r
83  \r
84        for (n = 0; n < 256; n++)\r
85        {\r
86 -        c = (unsigned long)n;\r
87 +        c = (unsigned int)n;\r
88          for (k = 0; k < 8; k++) c = (c >> 1) ^ (c & 1 ? 0xedb88320L : 0);\r
89          crc_table[n] = c;\r
90        }\r
91 Index: Source/DialogTemplate.cpp
92 --- ../release/nsis-2.17-src/Source/DialogTemplate.cpp  2006-03-24 10:36:24.000000000 -0800
93 +++ ./Source/DialogTemplate.cpp 2006-07-31 05:48:44.000000000 -0700
94 @@ -93,7 +93,7 @@
95      if (IS_INTRESOURCE(x)) { \\r
96        *(WORD*)seeker = 0xFFFF; \\r
97        seeker += sizeof(WORD); \\r
98 -      *(WORD*)seeker = ConvertEndianness(WORD(DWORD(x))); \\r
99 +      *(WORD*)seeker = ConvertEndianness(WORD(ULONG_PTR(x))); \\r
100        seeker += sizeof(WORD); \\r
101      } \\r
102      else { \\r
103 @@ -629,7 +629,7 @@
104      }\r
105    }\r
106  \r
107 -  assert((DWORD) seeker - (DWORD) pbDlg == dwSize);\r
108 +  assert((ULONG_PTR) seeker - (ULONG_PTR) pbDlg == dwSize);\r
109  \r
110    // DONE!\r
111    return pbDlg;\r
112 Index: Source/exehead/fileform.c
113 --- ../release/nsis-2.17-src/Source/exehead/fileform.c  2005-09-09 09:08:44.000000000 -0700
114 +++ ./Source/exehead/fileform.c 2006-07-31 13:26:08.000000000 -0700
115 @@ -95,7 +95,7 @@
116  static z_stream g_inflate_stream;\r
117  #endif\r
118  \r
119 -extern unsigned long NSISCALL CRC32(unsigned long crc, const unsigned char *buf, unsigned int len);\r
120 +extern unsigned int NSISCALL CRC32(unsigned int crc, const unsigned char *buf, unsigned int len);\r
121  \r
122  const char * NSISCALL loadHeaders(int cl_flags)\r
123  {\r
124 Index: Source/Platform.h
125 --- ../release/nsis-2.17-src/Source/Platform.h  2006-05-03 08:43:54.000000000 -0700
126 +++ ./Source/Platform.h 2006-07-31 05:48:44.000000000 -0700
127 @@ -16,15 +16,15 @@
128  // basic types\r
129  typedef unsigned char BYTE, *PBYTE, *LPBYTE;\r
130  typedef unsigned short WORD, *LPWORD;\r
131 -typedef unsigned long DWORD, *LPDWORD;\r
132 +typedef unsigned int DWORD, *LPDWORD;\r
133  typedef short SHORT;\r
134  typedef unsigned short USHORT;\r
135  typedef unsigned int UINT;\r
136  typedef unsigned int UINT32;\r
137  typedef int INT;\r
138  typedef int INT32;\r
139 -typedef long LONG;\r
140 -typedef unsigned long ULONG;\r
141 +typedef int LONG;\r
142 +typedef unsigned int ULONG;\r
143  typedef long long INT64, LARGE_INTEGER;\r
144  typedef unsigned long long UINT64, ULARGE_INTEGER;\r
145  typedef int BOOL, *LPBOOL;\r
146 @@ -35,13 +35,14 @@
147  typedef const char *LPCCH, *PCSTR, *LPCSTR;\r
148  typedef unsigned short WCHAR, *PWCHAR, *LPWCH, *PWCH, *NWPSTR, *LPWSTR, *PWSTR;\r
149  typedef const unsigned short *LPCWCH, *PCWCH, *LPCWSTR, *PCWSTR;\r
150 -typedef unsigned int UINT_PTR;\r
151 +typedef unsigned long UINT_PTR;\r
152 +typedef unsigned long ULONG_PTR;\r
153  // basic stuff\r
154  typedef void * HANDLE;\r
155 -typedef unsigned long HKEY;\r
156 +typedef unsigned int HKEY;\r
157  // some gdi\r
158 -typedef unsigned long COLORREF;\r
159 -typedef unsigned long HBRUSH;\r
160 +typedef unsigned int COLORREF;\r
161 +typedef unsigned int HBRUSH;\r
162  // bool\r
163  #  define FALSE 0\r
164  #  define TRUE 1\r
165 @@ -129,13 +130,13 @@
166  \r
167  #ifndef _WIN32\r
168  #  ifndef FIELD_OFFSET\r
169 -#    define FIELD_OFFSET(t,f) ((LONG)&(((t*)0)->f))\r
170 +#    define FIELD_OFFSET(t,f) ((ULONG_PTR)&(((t*)0)->f))\r
171  #  endif\r
172  #  ifndef MAKEINTRESOURCE\r
173  #    define MAKEINTRESOURCE(i) (LPSTR)((DWORD)((WORD)(i)))\r
174  #  endif\r
175  #  ifndef IMAGE_FIRST_SECTION\r
176 -#    define IMAGE_FIRST_SECTION(h) ( PIMAGE_SECTION_HEADER( (DWORD) h + \\r
177 +#    define IMAGE_FIRST_SECTION(h) ( PIMAGE_SECTION_HEADER( (ULONG_PTR) h + \\r
178                                       FIELD_OFFSET(IMAGE_NT_HEADERS, OptionalHeader) + \\r
179                                       FIX_ENDIAN_INT16(PIMAGE_NT_HEADERS(h)->FileHeader.SizeOfOptionalHeader) ) )\r
180  #  endif\r
181 @@ -166,9 +167,9 @@
182  #  define FOF_NOERRORUI 0x0400\r
183  #endif\r
184  \r
185 -#ifndef ULONG_PTR\r
186 -#  define ULONG_PTR DWORD\r
187 -#endif\r
188 +//#ifndef ULONG_PTR\r
189 +//#  define ULONG_PTR ULONG\r
190 +//#endif\r
191  \r
192  #ifndef IDC_HAND\r
193  #  define IDC_HAND MAKEINTRESOURCE(32649)\r
194 Index: Source/Plugins.cpp
195 --- ../release/nsis-2.17-src/Source/Plugins.cpp 2006-04-05 11:42:12.000000000 -0700
196 +++ ./Source/Plugins.cpp        2006-07-31 06:50:08.000000000 -0700
197 @@ -120,8 +120,8 @@
198          DWORD prd = FIX_ENDIAN_INT32(sections[i].PointerToRawData);\r
199          PIMAGE_EXPORT_DIRECTORY exports = PIMAGE_EXPORT_DIRECTORY(&dlldata[0] + prd + ExportDirVA - va);\r
200          DWORD na = FIX_ENDIAN_INT32(exports->AddressOfNames);\r
201 -        unsigned long *names = (unsigned long*)((unsigned long) exports + (char *) na - ExportDirVA);\r
202 -        for (unsigned long j = 0; j < FIX_ENDIAN_INT32(exports->NumberOfNames); j++)\r
203 +        unsigned int *names = (unsigned int*)((unsigned long) exports + (char *) na - ExportDirVA);\r
204 +        for (unsigned int j = 0; j < FIX_ENDIAN_INT32(exports->NumberOfNames); j++)\r
205          {\r
206            const string name = string((char*)exports + FIX_ENDIAN_INT32(names[j]) - ExportDirVA);\r
207            const string signature = dllName + "::" + name;\r
208 Index: Source/ResourceEditor.cpp
209 --- ../release/nsis-2.17-src/Source/ResourceEditor.cpp  2006-04-05 11:40:09.000000000 -0700
210 +++ ./Source/ResourceEditor.cpp 2006-07-31 05:48:44.000000000 -0700
211 @@ -545,7 +545,7 @@
212      rdDir.NumberOfIdEntries = ConvertEndianness(rdDir.NumberOfIdEntries);\r
213  \r
214      CopyMemory(seeker, &rdDir, sizeof(IMAGE_RESOURCE_DIRECTORY));\r
215 -    crd->m_dwWrittenAt = DWORD(seeker);\r
216 +    crd->m_dwWrittenAt = ULONG_PTR(seeker);\r
217      seeker += sizeof(IMAGE_RESOURCE_DIRECTORY);\r
218  \r
219      for (int i = 0; i < crd->CountEntries(); i++) {\r
220 @@ -566,7 +566,7 @@
221        rDirE.NameString.NameIsString = (crd->GetEntry(i)->HasName()) ? 1 : 0;\r
222  \r
223        CopyMemory(seeker, &rDirE, sizeof(MY_IMAGE_RESOURCE_DIRECTORY_ENTRY));\r
224 -      crd->GetEntry(i)->m_dwWrittenAt = DWORD(seeker);\r
225 +      crd->GetEntry(i)->m_dwWrittenAt = ULONG_PTR(seeker);\r
226        seeker += sizeof(MY_IMAGE_RESOURCE_DIRECTORY_ENTRY);\r
227      }\r
228      qDirs.pop();\r
229 @@ -582,7 +582,7 @@
230      rDataE.Size = ConvertEndianness(cRDataE->GetSize());\r
231  \r
232      CopyMemory(seeker, &rDataE, sizeof(IMAGE_RESOURCE_DATA_ENTRY));\r
233 -    cRDataE->m_dwWrittenAt = DWORD(seeker);\r
234 +    cRDataE->m_dwWrittenAt = ULONG_PTR(seeker);\r
235      seeker += sizeof(IMAGE_RESOURCE_DATA_ENTRY);\r
236  \r
237      qDataEntries.pop();\r
238 @@ -594,7 +594,7 @@
239    while (!qStrings.empty()) {\r
240      CResourceDirectoryEntry* cRDirE = qStrings.front();\r
241  \r
242 -    PMY_IMAGE_RESOURCE_DIRECTORY_ENTRY(cRDirE->m_dwWrittenAt)->NameString.NameOffset = ConvertEndianness(DWORD(seeker) - DWORD(pbRsrcSec));\r
243 +    PMY_IMAGE_RESOURCE_DIRECTORY_ENTRY(cRDirE->m_dwWrittenAt)->NameString.NameOffset = ConvertEndianness(DWORD(ULONG_PTR(seeker) - ULONG_PTR(pbRsrcSec)));\r
244  \r
245      char* szName = cRDirE->GetName();\r
246      WORD iLen = strlen(szName) + 1;\r
247 @@ -626,7 +626,7 @@
248    while (!qDataEntries2.empty()) {\r
249      CResourceDataEntry* cRDataE = qDataEntries2.front();\r
250      CopyMemory(seeker, cRDataE->GetData(), cRDataE->GetSize());\r
251 -    PIMAGE_RESOURCE_DATA_ENTRY(cRDataE->m_dwWrittenAt)->OffsetToData = ConvertEndianness(seeker - pbRsrcSec + m_dwResourceSectionVA);\r
252 +    PIMAGE_RESOURCE_DATA_ENTRY(cRDataE->m_dwWrittenAt)->OffsetToData = ConvertEndianness(DWORD(seeker - pbRsrcSec + m_dwResourceSectionVA));\r
253  \r
254      seeker += RALIGN(cRDataE->GetSize(), 8);\r
255  \r
256 @@ -636,7 +636,7 @@
257    /*\r
258     * Set all of the directory entries offsets.\r
259     */\r
260 -  SetOffsets(m_cResDir, DWORD(pbRsrcSec));\r
261 +  SetOffsets(m_cResDir, ULONG_PTR(pbRsrcSec));\r
262  }\r
263  \r
264  // Sets the offsets in directory entries\r
265 @@ -650,7 +650,7 @@
266        SetOffsets(resDir->GetEntry(i)->GetSubDirectory(), newResDirAt);\r
267      }\r
268      else {\r
269 -      rde->OffsetToData = ConvertEndianness(resDir->GetEntry(i)->GetDataEntry()->m_dwWrittenAt - newResDirAt);\r
270 +      rde->OffsetToData = ConvertEndianness(DWORD(resDir->GetEntry(i)->GetDataEntry()->m_dwWrittenAt - newResDirAt));\r
271      }\r
272    }\r
273  }\r
274 @@ -758,7 +758,7 @@
275  // Returns -1 if can not be found\r
276  int CResourceDirectory::Find(char* szName) {\r
277    if (IS_INTRESOURCE(szName))\r
278 -    return Find((WORD) (DWORD) szName);\r
279 +    return Find((WORD) (ULONG_PTR) szName);\r
280    else\r
281      if (szName[0] == '#')\r
282        return Find(WORD(atoi(szName + 1)));\r
283 @@ -836,7 +836,7 @@
284    if (IS_INTRESOURCE(szName)) {\r
285      m_bHasName = false;\r
286      m_szName = 0;\r
287 -    m_wId = (WORD) (DWORD) szName;\r
288 +    m_wId = (WORD) (ULONG_PTR) szName;\r
289    }\r
290    else {\r
291      m_bHasName = true;\r
292 @@ -851,7 +851,7 @@
293    if (IS_INTRESOURCE(szName)) {\r
294      m_bHasName = false;\r
295      m_szName = 0;\r
296 -    m_wId = (WORD) (DWORD) szName;\r
297 +    m_wId = (WORD) (ULONG_PTR) szName;\r
298    }\r
299    else {\r
300      m_bHasName = true;\r
301 Index: Source/ResourceEditor.h
302 --- ../release/nsis-2.17-src/Source/ResourceEditor.h    2006-04-28 08:54:42.000000000 -0700
303 +++ ./Source/ResourceEditor.h   2006-07-31 05:48:44.000000000 -0700
304 @@ -173,7 +173,7 @@
305  \r
306    void Destroy();\r
307  \r
308 -  DWORD m_dwWrittenAt;\r
309 +  ULONG_PTR m_dwWrittenAt;\r
310  \r
311  private:\r
312    IMAGE_RESOURCE_DIRECTORY m_rdDir;\r
313 @@ -197,7 +197,7 @@
314  \r
315    CResourceDataEntry* GetDataEntry();\r
316  \r
317 -  DWORD m_dwWrittenAt;\r
318 +  ULONG_PTR m_dwWrittenAt;\r
319  \r
320  private:\r
321    bool m_bHasName;\r
322 @@ -226,7 +226,7 @@
323    DWORD GetSize();\r
324    DWORD GetCodePage();\r
325  \r
326 -  DWORD m_dwWrittenAt;\r
327 +  ULONG_PTR m_dwWrittenAt;\r
328  \r
329  private:\r
330    BYTE* m_pbData;\r
331 Index: Source/script.cpp
332 --- ../release/nsis-2.17-src/Source/script.cpp  2006-03-28 10:22:34.000000000 -0800
333 +++ ./Source/script.cpp 2006-07-31 20:56:03.000000000 -0700
334 @@ -4748,8 +4748,8 @@
335            {\r
336              struct\r
337              {\r
338 -              long l;\r
339 -              long h;\r
340 +              int l;\r
341 +              int h;\r
342              } words;\r
343              long long ll;\r
344            };\r
345 @@ -6075,8 +6075,8 @@
346          {\r
347            struct\r
348            {\r
349 -            long l;\r
350 -            long h;\r
351 +            int l;\r
352 +            int h;\r
353            } words;\r
354            long long ll;\r
355          };\r
356 Index: Source/util.cpp
357 --- ../release/nsis-2.17-src/Source/util.cpp    2006-04-28 08:54:42.000000000 -0700
358 +++ ./Source/util.cpp   2006-07-31 05:48:44.000000000 -0700
359 @@ -312,7 +312,7 @@
360    FIX_ENDIAN_INT32_INPLACE(rdEntry.OffsetToData);\r
361    MY_ASSERT(!rdEntry.DirectoryOffset.DataIsDirectory, "bad resource directory");\r
362  \r
363 -  PRESOURCE_DIRECTORY rdIcons = PRESOURCE_DIRECTORY(rdEntry.DirectoryOffset.OffsetToDirectory + DWORD(rdRoot));\r
364 +  PRESOURCE_DIRECTORY rdIcons = PRESOURCE_DIRECTORY(rdEntry.DirectoryOffset.OffsetToDirectory + ULONG_PTR(rdRoot));\r
365  \r
366    MY_ASSERT((size_t)rdIcons - (size_t)exeHeader > exeHeaderSize, "corrupted EXE - invalid pointer");\r
367  \r
368 @@ -325,7 +325,7 @@
369      FIX_ENDIAN_INT32_INPLACE(icoEntry.OffsetToData);\r
370  \r
371      MY_ASSERT(!icoEntry.DirectoryOffset.DataIsDirectory, "bad resource directory");\r
372 -    PRESOURCE_DIRECTORY rd = PRESOURCE_DIRECTORY(icoEntry.DirectoryOffset.OffsetToDirectory + DWORD(rdRoot));\r
373 +    PRESOURCE_DIRECTORY rd = PRESOURCE_DIRECTORY(icoEntry.DirectoryOffset.OffsetToDirectory + ULONG_PTR(rdRoot));\r
374      \r
375      MY_ASSERT((size_t)rd - (size_t)exeHeader > exeHeaderSize, "corrupted EXE - invalid pointer");\r
376  \r
377 @@ -334,7 +334,7 @@
378  \r
379      MY_ASSERT(datEntry.DirectoryOffset.DataIsDirectory, "bad resource directory");\r
380      \r
381 -    PIMAGE_RESOURCE_DATA_ENTRY rde = PIMAGE_RESOURCE_DATA_ENTRY(datEntry.OffsetToData + DWORD(rdRoot));\r
382 +    PIMAGE_RESOURCE_DATA_ENTRY rde = PIMAGE_RESOURCE_DATA_ENTRY(datEntry.OffsetToData + ULONG_PTR(rdRoot));\r
383  \r
384      MY_ASSERT((size_t)rde - (size_t)exeHeader > exeHeaderSize, "corrupted EXE - invalid pointer");\r
385  \r
386 @@ -355,10 +355,10 @@
387      }\r
388  \r
389      // Set offset\r
390 -    DWORD dwOffset = FIX_ENDIAN_INT32(rde->OffsetToData) + DWORD(rdRoot) - dwResourceSectionVA - DWORD(exeHeader);\r
391 +    DWORD dwOffset = FIX_ENDIAN_INT32(rde->OffsetToData) + ULONG_PTR(rdRoot) - dwResourceSectionVA - ULONG_PTR(exeHeader);\r
392      *(LPDWORD) seeker = FIX_ENDIAN_INT32(dwOffset);\r
393  \r
394 -    MY_ASSERT(dwOffset > exeHeaderSize || dwOffset < (DWORD)rdRoot - (DWORD)exeHeader, "invalid data offset - icon resource probably compressed");\r
395 +    MY_ASSERT(dwOffset > exeHeaderSize || dwOffset < (ULONG_PTR)rdRoot - (ULONG_PTR)exeHeader, "invalid data offset - icon resource probably compressed");\r
396    }\r
397  \r
398    LPBYTE seeker = uninstIconData;\r
399 Index: Source/writer.cpp
400 --- ../release/nsis-2.17-src/Source/writer.cpp  2006-03-11 03:13:07.000000000 -0800
401 +++ ./Source/writer.cpp 2006-07-31 13:27:37.000000000 -0700
402 @@ -64,7 +64,7 @@
403  }\r
404  \r
405  #ifdef NSIS_CONFIG_CRC_SUPPORT\r
406 -extern "C" unsigned long NSISCALL CRC32(unsigned long crc, const unsigned char *buf, unsigned int len);\r
407 +extern "C" unsigned int NSISCALL CRC32(unsigned int crc, const unsigned char *buf, unsigned int len);\r
408  \r
409  void crc_writer_sink::write_data(const void *data, const size_t size)\r
410  {\r
411 Index: Source/writer.h
412 --- ../release/nsis-2.17-src/Source/writer.h    2006-03-11 03:13:07.000000000 -0800
413 +++ ./Source/writer.h   2006-07-31 13:27:58.000000000 -0700
414 @@ -57,12 +57,12 @@
415  #ifdef NSIS_CONFIG_CRC_SUPPORT\r
416  class crc_writer_sink : public writer_sink {\r
417  public:\r
418 -  crc_writer_sink(unsigned long *crc) : m_crc(crc) {}\r
419 +  crc_writer_sink(unsigned int *crc) : m_crc(crc) {}\r
420  \r
421    virtual void write_data(const void *data, const size_t size);\r
422  \r
423  private:\r
424 -  unsigned long *m_crc;\r
425 +  unsigned int *m_crc;\r
426  \r
427  };\r
428  #endif\r