Add tests for __int{8,16,32,64} types for Windows.
Inspired by patch from Pierre Joye.
--HG--
branch : HEAD
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 8ac4872..04edb9c 100755
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -45,12 +45,16 @@
CHECK_INCLUDE_FILES(sys/types.h HAVE_SYS_TYPES_H_LIBZIP)
CHECK_INCLUDE_FILES(inttypes.h HAVE_INTTYPES_H_LIBZIP)
CHECK_INCLUDE_FILES(stdint.h HAVE_STDINT_H_LIBZIP)
+CHECK_TYPE_SIZE(__int8 __INT8_LIBZIP)
CHECK_TYPE_SIZE(int8_t INT8_T_LIBZIP)
CHECK_TYPE_SIZE(uint8_t UINT8_T_LIBZIP)
+CHECK_TYPE_SIZE(__int16 __INT16_LIBZIP)
CHECK_TYPE_SIZE(int16_t INT16_T_LIBZIP)
CHECK_TYPE_SIZE(uint16_t UINT16_T_LIBZIP)
+CHECK_TYPE_SIZE(__int32 __INT32_LIBZIP)
CHECK_TYPE_SIZE(int32_t INT32_T_LIBZIP)
CHECK_TYPE_SIZE(uint32_t UINT32_T_LIBZIP)
+CHECK_TYPE_SIZE(__int64 __INT64_LIBZIP)
CHECK_TYPE_SIZE(int64_t INT64_T_LIBZIP)
CHECK_TYPE_SIZE(uint64_t UINT64_T_LIBZIP)
CHECK_TYPE_SIZE("short" SHORT_LIBZIP)
diff --git a/NEWS b/NEWS
index 3ef3d82..72b10d4 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,8 @@
+0.xx [20xx/xx/xx]
+
+* more changes for Windows support
+* additional test cases
+
0.10 [2010/03/18]
* Added zip_get_num_files(), deprecated zip_get_num_entries().
diff --git a/cmake-zipconf.h.in b/cmake-zipconf.h.in
index f7b08ae..70c8f2b 100644
--- a/cmake-zipconf.h.in
+++ b/cmake-zipconf.h.in
@@ -11,12 +11,16 @@
#cmakedefine HAVE_INTTYPES_H_LIBZIP
#cmakedefine HAVE_STDINT_H_LIBZIP
#cmakedefine HAVE_SYS_TYPES_H_LIBZIP
+#cmakedefine HAVE___INT8_LIBZIP
#cmakedefine HAVE_INT8_T_LIBZIP
#cmakedefine HAVE_UINT8_T_LIBZIP
+#cmakedefine HAVE___INT16_LIBZIP
#cmakedefine HAVE_INT16_T_LIBZIP
#cmakedefine HAVE_UINT16_T_LIBZIP
+#cmakedefine HAVE___INT32_LIBZIP
#cmakedefine HAVE_INT32_T_LIBZIP
#cmakedefine HAVE_UINT32_T_LIBZIP
+#cmakedefine HAVE___INT64_LIBZIP
#cmakedefine HAVE_INT64_T_LIBZIP
#cmakedefine HAVE_UINT64_T_LIBZIP
#cmakedefine SHORT_LIBZIP ${SHORT_LIBZIP}
@@ -34,26 +38,36 @@
#if defined(HAVE_INT8_T_LIBZIP)
typedef int8_t zip_int8_t;
+#elif defined(HAVE___INT8_LIBZIP_)
+typedef __int8 zip_int8_t;
#else
typedef signed char zip_int8_t;
#endif
#if defined(HAVE_UINT8_T_LIBZIP)
typedef uint8_t zip_uint8_t;
+#elif defined(HAVE___INT8_LIBZIP_)
+typedef unsigned __int8 zip_uint8_t;
#else
typedef unsigned char zip_uint8_t;
#endif
#if defined(HAVE_INT16_T_LIBZIP)
typedef int16_t zip_int16_t;
+#elif defined(HAVE___INT16_LIBZIP_)
+typedef __int16 zip_int16_t;
#elif defined(SHORT_LIBZIP) && SHORT_LIBZIP == 2
typedef signed short zip_int16_t;
#endif
#if defined(HAVE_UINT16_T_LIBZIP)
typedef uint16_t zip_uint16_t;
+#elif defined(HAVE___INT16_LIBZIP_)
+typedef unsigned __int16 zip_uint16_t;
#elif defined(SHORT_LIBZIP) && SHORT_LIBZIP == 2
typedef unsigned short zip_uint16_t;
#endif
#if defined(HAVE_INT32_T_LIBZIP)
typedef int32_t zip_int32_t;
+#elif defined(HAVE___INT32_LIBZIP_)
+typedef __int32 zip_int32_t;
#elif defined(INT_LIBZIP) && INT_LIBZIP == 4
typedef signed int zip_int32_t;
#elif defined(LONG_LIBZIP) && LONG_LIBZIP == 4
@@ -61,6 +75,8 @@
#endif
#if defined(HAVE_UINT32_T_LIBZIP)
typedef uint32_t zip_uint32_t;
+#elif defined(HAVE___INT32_LIBZIP_)
+typedef unsigned __int32 zip_uint32_t;
#elif defined(INT_LIBZIP) && INT_LIBZIP == 4
typedef unsigned int zip_uint32_t;
#elif defined(LONG_LIBZIP) && LONG_LIBZIP == 4
@@ -68,6 +84,8 @@
#endif
#if defined(HAVE_INT64_T_LIBZIP)
typedef int64_t zip_int64_t;
+#elif defined(HAVE___INT64_LIBZIP_)
+typedef __int64 zip_int64_t;
#elif defined(LONG_LIBZIP) && LONG_LIBZIP == 8
typedef signed long zip_int64_t;
#elif defined(LONGLONG_LIBZIP) && LONGLONG_LIBZIP == 8
@@ -75,6 +93,8 @@
#endif
#if defined(HAVE_UINT64_T_LIBZIP)
typedef uint64_t zip_uint64_t;
+#elif defined(HAVE___INT64_LIBZIP_)
+typedef unsigned __int64 zip_uint64_t;
#elif defined(LONG_LIBZIP) && LONGLONG_LIBZIP == 8
typedef unsigned long zip_uint64_t;
#elif defined(LONGLONG_LIBZIP) && LONGLONG_LIBZIP == 8