mirror of
https://github.com/AdaCore/cpython.git
synced 2026-02-12 12:57:15 -08:00
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)
This commit is contained in:
@@ -34,6 +34,9 @@ Core and Builtins
|
||||
Library
|
||||
-------
|
||||
|
||||
- Issue #14829: Fix bisect and range() indexing with large indices
|
||||
(>= 2 ** 32) under 64-bit Windows.
|
||||
|
||||
- Issue #14732: The _csv module now uses PEP 3121 module initialization.
|
||||
Patch by Robin Schreiber.
|
||||
|
||||
|
||||
@@ -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 @@ insort_left(PyObject *self, PyObject *args, PyObject *kw)
|
||||
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);
|
||||
|
||||
@@ -308,7 +308,7 @@ compute_range_item(rangeobject *r, PyObject *arg)
|
||||
static PyObject *
|
||||
range_item(rangeobject *r, Py_ssize_t i)
|
||||
{
|
||||
PyObject *res, *arg = PyLong_FromLong(i);
|
||||
PyObject *res, *arg = PyLong_FromSsize_t(i);
|
||||
if (!arg) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user