diff options
Diffstat (limited to 'extra/chmlib/src_chm_lib.c.diff')
-rw-r--r-- | extra/chmlib/src_chm_lib.c.diff | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/extra/chmlib/src_chm_lib.c.diff b/extra/chmlib/src_chm_lib.c.diff new file mode 100644 index 000000000..742e0e521 --- /dev/null +++ b/extra/chmlib/src_chm_lib.c.diff @@ -0,0 +1,58 @@ +Patch to fix integer types problem by Goswin von Brederlow +<brederlo@informatik.uni-tuebingen.de> (#258444) +--- chmlib-0.39.orig/src/chm_lib.c ++++ chmlib-0.39/src/chm_lib.c +@@ -56,6 +56,7 @@ + + #include "lzx.h" + ++#include <stdint.h> + #include <stdlib.h> + #include <string.h> + #ifdef CHM_DEBUG +@@ -149,22 +150,9 @@ + typedef __int64 Int64; + typedef unsigned __int64 UInt64; + +-/* I386, 32-bit, non-Windows */ +-/* Sparc */ +-/* MIPS */ +-/* PPC */ +-#elif __i386__ || __sun || __sgi || __ppc__ +-typedef unsigned char UChar; +-typedef short Int16; +-typedef unsigned short UInt16; +-typedef long Int32; +-typedef unsigned long UInt32; +-typedef long long Int64; +-typedef unsigned long long UInt64; +- + /* x86-64 */ + /* Note that these may be appropriate for other 64-bit machines. */ +-#elif __x86_64__ || __ia64__ ++#elif defined(__LP64__) + typedef unsigned char UChar; + typedef short Int16; + typedef unsigned short UInt16; +@@ -173,10 +161,18 @@ + typedef long Int64; + typedef unsigned long UInt64; + ++/* I386, 32-bit, non-Windows */ ++/* Sparc */ ++/* MIPS */ ++/* PPC */ + #else +- +-/* yielding an error is preferable to yielding incorrect behavior */ +-#error "Please define the sized types for your platform in chm_lib.c" ++typedef unsigned char UChar; ++typedef short Int16; ++typedef unsigned short UInt16; ++typedef long Int32; ++typedef unsigned long UInt32; ++typedef long long Int64; ++typedef unsigned long long UInt64; + #endif + + /* GCC */ |