diff --git a/Objects/bytearrayobject.c b/Objects/bytearrayobject.c index cbe673acd0a..74267cffcc9 100644 --- a/Objects/bytearrayobject.c +++ b/Objects/bytearrayobject.c @@ -396,7 +396,7 @@ bytearray_getitem(PyByteArrayObject *self, Py_ssize_t i) PyErr_SetString(PyExc_IndexError, "bytearray index out of range"); return NULL; } - return PyLong_FromLong((unsigned char)(PyByteArray_AS_STRING(self)[i])); + return _PyLong_FromUnsignedChar((unsigned char)(self->ob_start[i])); } static PyObject * @@ -415,7 +415,7 @@ bytearray_subscript(PyByteArrayObject *self, PyObject *index) PyErr_SetString(PyExc_IndexError, "bytearray index out of range"); return NULL; } - return PyLong_FromLong((unsigned char)(PyByteArray_AS_STRING(self)[i])); + return _PyLong_FromUnsignedChar((unsigned char)(self->ob_start[i])); } else if (PySlice_Check(index)) { Py_ssize_t start, stop, step, slicelength, i; @@ -1841,7 +1841,7 @@ bytearray_pop_impl(PyByteArrayObject *self, Py_ssize_t index) if (PyByteArray_Resize((PyObject *)self, n - 1) < 0) return NULL; - return PyLong_FromLong((unsigned char)value); + return _PyLong_FromUnsignedChar((unsigned char)value); } /*[clinic input] diff --git a/Objects/bytesobject.c b/Objects/bytesobject.c index 003953244a8..56c941a44bf 100644 --- a/Objects/bytesobject.c +++ b/Objects/bytesobject.c @@ -1487,7 +1487,7 @@ bytes_item(PyBytesObject *a, Py_ssize_t i) PyErr_SetString(PyExc_IndexError, "index out of range"); return NULL; } - return PyLong_FromLong((unsigned char)a->ob_sval[i]); + return _PyLong_FromUnsignedChar((unsigned char)a->ob_sval[i]); } static int @@ -1595,7 +1595,7 @@ bytes_subscript(PyBytesObject* self, PyObject* item) "index out of range"); return NULL; } - return PyLong_FromLong((unsigned char)self->ob_sval[i]); + return _PyLong_FromUnsignedChar((unsigned char)self->ob_sval[i]); } else if (PySlice_Check(item)) { Py_ssize_t start, stop, step, slicelength, i;