Issue #14829: Fix bisect and range() indexing with large indices (>= 2 ** 32) under 64-bit Windows.
(untested, because of Windows build issues under 3.x)
diff --git a/Modules/_bisectmodule.c b/Modules/_bisectmodule.c
index 4d0a2e4..faca8cf 100644
--- a/Modules/_bisectmodule.c
+++ b/Modules/_bisectmodule.c
@@ -3,6 +3,7 @@
Converted to C by Dmitry Vasiliev (dima at hlabs.spb.ru).
*/
+#define PY_SSIZE_T_CLEAN
#include "Python.h"
static Py_ssize_t
@@ -195,8 +196,7 @@
return NULL;
} else {
_Py_IDENTIFIER(insert);
-
- result = _PyObject_CallMethodId(list, &PyId_insert, "iO", index, item);
+ result = _PyObject_CallMethodId(list, &PyId_insert, "nO", index, item);
if (result == NULL)
return NULL;
Py_DECREF(result);