diff --git a/Modules/_sqlite/row.c b/Modules/_sqlite/row.c index 14c148e3109..4a87a048fd2 100644 --- a/Modules/_sqlite/row.c +++ b/Modules/_sqlite/row.c @@ -67,7 +67,7 @@ PyObject* pysqlite_row_subscript(pysqlite_Row* self, PyObject* idx) { long _idx; char* key; - int nitems, i; + Py_ssize_t nitems, i; char* compare_key; char* p1; @@ -88,7 +88,10 @@ PyObject* pysqlite_row_subscript(pysqlite_Row* self, PyObject* idx) nitems = PyTuple_Size(self->description); for (i = 0; i < nitems; i++) { - compare_key = _PyUnicode_AsString(PyTuple_GET_ITEM(PyTuple_GET_ITEM(self->description, i), 0)); + PyObject *obj; + obj = PyTuple_GET_ITEM(self->description, i); + obj = PyTuple_GET_ITEM(obj, 0); + compare_key = _PyUnicode_AsString(obj); if (!compare_key) { return NULL; } @@ -120,10 +123,12 @@ PyObject* pysqlite_row_subscript(pysqlite_Row* self, PyObject* idx) PyErr_SetString(PyExc_IndexError, "No item with that key"); return NULL; - } else if (PySlice_Check(idx)) { + } + else if (PySlice_Check(idx)) { PyErr_SetString(PyExc_ValueError, "slices not implemented, yet"); return NULL; - } else { + } + else { PyErr_SetString(PyExc_IndexError, "Index must be int or string"); return NULL; }