cmake: improve definitions of integer minimum values
Reported by Eun-cheol Joo.
diff --git a/THANKS b/THANKS
index f741529..e3f78c2 100644
--- a/THANKS
+++ b/THANKS
@@ -20,6 +20,7 @@
David Demelier <demelier.david@gmail.com>
Del Merritt <del@alum.mit.edu>
Dmytro Rybachenko <atmoliton@gmail.com>
+Eun-cheol Joo
François Simon <AT.GFI.Francois.SIMON@sesam-vitale.fr>
Frederik Ramm <frederik@remote.org>
Hanno Böck <hanno@hboeck.de>
diff --git a/cmake-zipconf.h.in b/cmake-zipconf.h.in
index 17edc6c..6a276f6 100644
--- a/cmake-zipconf.h.in
+++ b/cmake-zipconf.h.in
@@ -102,15 +102,15 @@
typedef unsigned long long zip_uint64_t;
#endif
-#define ZIP_INT8_MIN -0x80
+#define ZIP_INT8_MIN (-ZIP_INT8_MAX-1)
#define ZIP_INT8_MAX 0x7f
#define ZIP_UINT8_MAX 0xff
-#define ZIP_INT16_MIN -0x8000
+#define ZIP_INT16_MIN (-ZIP_INT16_MAX-1)
#define ZIP_INT16_MAX 0x7fff
#define ZIP_UINT16_MAX 0xffff
-#define ZIP_INT32_MIN -0x80000000L
+#define ZIP_INT32_MIN (-ZIP_INT32_MAX-1L)
#define ZIP_INT32_MAX 0x7fffffffL
#define ZIP_UINT32_MAX 0xffffffffLU