if (!converted) {
goto error;
}
- PyTuple_SetItem(row, i, converted);
+ PyTuple_SET_ITEM(row, i, converted);
}
if (PyErr_Occurred())
PyObject* func_args;
PyObject* result;
int numcols;
- PyObject* descriptor;
PyObject* column_name;
sqlite_int64 lastrowid;
goto error;
}
for (i = 0; i < numcols; i++) {
- descriptor = PyTuple_New(7);
- if (!descriptor) {
- goto error;
- }
const char *colname;
colname = sqlite3_column_name(self->statement->st, i);
if (colname == NULL) {
PyErr_NoMemory();
- Py_DECREF(descriptor);
goto error;
}
column_name = _pysqlite_build_column_name(self, colname);
if (column_name == NULL) {
- Py_DECREF(descriptor);
goto error;
}
- PyTuple_SetItem(descriptor, 0, column_name);
- PyTuple_SetItem(descriptor, 1, Py_NewRef(Py_None));
- PyTuple_SetItem(descriptor, 2, Py_NewRef(Py_None));
- PyTuple_SetItem(descriptor, 3, Py_NewRef(Py_None));
- PyTuple_SetItem(descriptor, 4, Py_NewRef(Py_None));
- PyTuple_SetItem(descriptor, 5, Py_NewRef(Py_None));
- PyTuple_SetItem(descriptor, 6, Py_NewRef(Py_None));
- PyTuple_SetItem(self->description, i, descriptor);
+ PyObject *descriptor = PyTuple_Pack(7, column_name,
+ Py_None, Py_None, Py_None,
+ Py_None, Py_None, Py_None);
+ Py_DECREF(column_name);
+ if (descriptor == NULL) {
+ goto error;
+ }
+ PyTuple_SET_ITEM(self->description, i, descriptor);
}
}