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