Add PY_SSIZE_T_MIN, as suggested by Ralf W. Grosse-Kunstleve.
diff --git a/Include/pyport.h b/Include/pyport.h
index 9b5c54d..e0d9b7d 100644
--- a/Include/pyport.h
+++ b/Include/pyport.h
@@ -99,6 +99,8 @@
/* Largest positive value of type Py_ssize_t. */
#define PY_SSIZE_T_MAX ((Py_ssize_t)(((size_t)-1)>>1))
+/* Smallest positive value of type Py_ssize_t. */
+#define PY_SSIZE_T_MIN (-PY_SSIZE_T_MAX-1)
/* PY_FORMAT_SIZE_T is a platform-specific modifier for use in a printf
* format to convert an argument with the width of a size_t or Py_ssize_t.
diff --git a/Objects/longobject.c b/Objects/longobject.c
index ebcce45c..26f78c2 100644
--- a/Objects/longobject.c
+++ b/Objects/longobject.c
@@ -281,7 +281,7 @@
if (sign > 0)
return PY_SSIZE_T_MAX;
else
- return -PY_SSIZE_T_MAX-1;
+ return PY_SSIZE_T_MIN;
}
/* Get a Py_ssize_t from a long int object.