Use intptr_t for z_ssize_t on MSVC.
diff --git a/zconf.h b/zconf.h
index aee94b0..f6481d1 100644
--- a/zconf.h
+++ b/zconf.h
@@ -240,8 +240,13 @@
 #  ifdef NO_SSIZE_T
      typedef NO_SSIZE_T z_ssize_t;
 #  else
+#    include <stddef.h>
 #    include <sys/types.h>
-     typedef ssize_t z_ssize_t;
+#    ifdef _MSC_VER
+       typedef intptr_t z_ssize_t;
+#    else
+       typedef ssize_t z_ssize_t;
+#    endif
 #  endif
 #  undef z_longlong
 #endif
diff --git a/zconf.h.cmakein b/zconf.h.cmakein
index fe97071..843aeb4 100644
--- a/zconf.h.cmakein
+++ b/zconf.h.cmakein
@@ -242,8 +242,13 @@
 #  ifdef NO_SSIZE_T
      typedef NO_SSIZE_T z_ssize_t;
 #  else
+#    include <stddef.h>
 #    include <sys/types.h>
-     typedef ssize_t z_ssize_t;
+#    ifdef _MSC_VER
+       typedef intptr_t z_ssize_t;
+#    else
+       typedef ssize_t z_ssize_t;
+#    endif
 #  endif
 #  undef z_longlong
 #endif
diff --git a/zconf.h.in b/zconf.h.in
index aee94b0..f6481d1 100644
--- a/zconf.h.in
+++ b/zconf.h.in
@@ -240,8 +240,13 @@
 #  ifdef NO_SSIZE_T
      typedef NO_SSIZE_T z_ssize_t;
 #  else
+#    include <stddef.h>
 #    include <sys/types.h>
-     typedef ssize_t z_ssize_t;
+#    ifdef _MSC_VER
+       typedef intptr_t z_ssize_t;
+#    else
+       typedef ssize_t z_ssize_t;
+#    endif
 #  endif
 #  undef z_longlong
 #endif