diff options
Diffstat (limited to 'Modules/_collectionsmodule.c')
-rw-r--r-- | Modules/_collectionsmodule.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/Modules/_collectionsmodule.c b/Modules/_collectionsmodule.c index cc325e1..a2b683e 100644 --- a/Modules/_collectionsmodule.c +++ b/Modules/_collectionsmodule.c @@ -2336,7 +2336,7 @@ done: Py_RETURN_NONE; } -/* Helper functions for namedtuples */ +/* Helper function for namedtuple() ************************************/ typedef struct { PyObject_HEAD @@ -2369,9 +2369,11 @@ tuplegetter_new_impl(PyTypeObject *type, Py_ssize_t index, PyObject *doc) } static PyObject * -tuplegetterdescr_get(PyObject *self, PyObject *obj, PyObject *type) +tuplegetter_descr_get(PyObject *self, PyObject *obj, PyObject *type) { + Py_ssize_t index = ((_tuplegetterobject*)self)->index; PyObject *result; + if (obj == NULL) { Py_INCREF(self); return self; @@ -2384,13 +2386,11 @@ tuplegetterdescr_get(PyObject *self, PyObject *obj, PyObject *type) PyErr_Format(PyExc_TypeError, "descriptor for index '%d' for tuple subclasses " "doesn't apply to '%s' object", - ((_tuplegetterobject*)self)->index, + index, obj->ob_type->tp_name); return NULL; } - Py_ssize_t index = ((_tuplegetterobject*)self)->index; - if (!valid_index(index, PyTuple_GET_SIZE(obj))) { PyErr_SetString(PyExc_IndexError, "tuple index out of range"); return NULL; @@ -2402,7 +2402,7 @@ tuplegetterdescr_get(PyObject *self, PyObject *obj, PyObject *type) } static int -tuplegetter_set(PyObject *self, PyObject *obj, PyObject *value) +tuplegetter_descr_set(PyObject *self, PyObject *obj, PyObject *value) { if (value == NULL) { PyErr_SetString(PyExc_AttributeError, "can't delete attribute"); @@ -2476,8 +2476,8 @@ static PyTypeObject tuplegetter_type = { 0, /* tp_getset */ 0, /* tp_base */ 0, /* tp_dict */ - tuplegetterdescr_get, /* tp_descr_get */ - tuplegetter_set, /* tp_descr_set */ + tuplegetter_descr_get, /* tp_descr_get */ + tuplegetter_descr_set, /* tp_descr_set */ 0, /* tp_dictoffset */ 0, /* tp_init */ 0, /* tp_alloc */ |