summaryrefslogtreecommitdiffstats
path: root/Modules/_sqlite
diff options
context:
space:
mode:
authorAlexandre Vassalotti <alexandre@peadrop.com>2008-07-13 21:57:48 (GMT)
committerAlexandre Vassalotti <alexandre@peadrop.com>2008-07-13 21:57:48 (GMT)
commit1839bac7965814fc1cfa4e83790ee4f3c213a890 (patch)
tree09086203c92a619490a1e5a3abf0156659b17010 /Modules/_sqlite
parentdff1834f4540ac3c821e474de3a15293cfc728a9 (diff)
downloadcpython-1839bac7965814fc1cfa4e83790ee4f3c213a890.zip
cpython-1839bac7965814fc1cfa4e83790ee4f3c213a890.tar.gz
cpython-1839bac7965814fc1cfa4e83790ee4f3c213a890.tar.bz2
Forward port r64930.
Fix one more case in cursor.c.
Diffstat (limited to 'Modules/_sqlite')
-rw-r--r--Modules/_sqlite/connection.c27
-rw-r--r--Modules/_sqlite/cursor.c12
2 files changed, 14 insertions, 25 deletions
diff --git a/Modules/_sqlite/connection.c b/Modules/_sqlite/connection.c
index 2d1b822..b2cca80 100644
--- a/Modules/_sqlite/connection.c
+++ b/Modules/_sqlite/connection.c
@@ -944,19 +944,16 @@ PyObject* pysqlite_connection_call(pysqlite_Connection* self, PyObject* args, Py
_pysqlite_seterror(self->db, NULL);
}
- Py_DECREF(statement);
- statement = 0;
+ Py_CLEAR(statement);
} else {
weakref = PyWeakref_NewRef((PyObject*)statement, NULL);
if (!weakref) {
- Py_DECREF(statement);
- statement = 0;
+ Py_CLEAR(statement);
goto error;
}
if (PyList_Append(self->statements, weakref) != 0) {
- Py_DECREF(weakref);
- statement = 0;
+ Py_CLEAR(weakref);
goto error;
}
@@ -980,15 +977,13 @@ PyObject* pysqlite_connection_execute(pysqlite_Connection* self, PyObject* args,
method = PyObject_GetAttrString(cursor, "execute");
if (!method) {
- Py_DECREF(cursor);
- cursor = 0;
+ Py_CLEAR(cursor);
goto error;
}
result = PyObject_CallObject(method, args);
if (!result) {
- Py_DECREF(cursor);
- cursor = 0;
+ Py_CLEAR(cursor);
}
error:
@@ -1011,15 +1006,13 @@ PyObject* pysqlite_connection_executemany(pysqlite_Connection* self, PyObject* a
method = PyObject_GetAttrString(cursor, "executemany");
if (!method) {
- Py_DECREF(cursor);
- cursor = 0;
+ Py_CLEAR(cursor);
goto error;
}
result = PyObject_CallObject(method, args);
if (!result) {
- Py_DECREF(cursor);
- cursor = 0;
+ Py_CLEAR(cursor);
}
error:
@@ -1042,15 +1035,13 @@ PyObject* pysqlite_connection_executescript(pysqlite_Connection* self, PyObject*
method = PyObject_GetAttrString(cursor, "executescript");
if (!method) {
- Py_DECREF(cursor);
- cursor = 0;
+ Py_CLEAR(cursor);
goto error;
}
result = PyObject_CallObject(method, args);
if (!result) {
- Py_DECREF(cursor);
- cursor = 0;
+ Py_CLEAR(cursor);
}
error:
diff --git a/Modules/_sqlite/cursor.c b/Modules/_sqlite/cursor.c
index 29d3ff4..14dd002 100644
--- a/Modules/_sqlite/cursor.c
+++ b/Modules/_sqlite/cursor.c
@@ -1,6 +1,6 @@
/* cursor.c - the cursor type
*
- * Copyright (C) 2004-2007 Gerhard Häring <gh@ghaering.de>
+ * Copyright (C) 2004-2007 Gerhard Häring <gh@ghaering.de>
*
* This file is part of pysqlite.
*
@@ -529,7 +529,7 @@ PyObject* _pysqlite_query_execute(pysqlite_Cursor* self, int multiple, PyObject*
}
rc = pysqlite_statement_create(self->statement, self->connection, operation);
if (rc != SQLITE_OK) {
- self->statement = 0;
+ Py_CLEAR(self->statement);
goto error;
}
}
@@ -602,7 +602,7 @@ PyObject* _pysqlite_query_execute(pysqlite_Cursor* self, int multiple, PyObject*
}
rc = pysqlite_statement_create(self->statement, self->connection, operation);
if (rc != SQLITE_OK) {
- self->statement = 0;
+ Py_CLEAR(self->statement);
goto error;
}
}
@@ -711,8 +711,7 @@ PyObject* _pysqlite_query_execute(pysqlite_Cursor* self, int multiple, PyObject*
self->next_row = _pysqlite_fetch_one_row(self);
} else if (rc == SQLITE_DONE && !multiple) {
pysqlite_statement_reset(self->statement);
- Py_DECREF(self->statement);
- self->statement = 0;
+ Py_CLEAR(self->statement);
}
switch (statement_type) {
@@ -1013,8 +1012,7 @@ PyObject* pysqlite_cursor_close(pysqlite_Cursor* self, PyObject* args)
if (self->statement) {
(void)pysqlite_statement_reset(self->statement);
- Py_DECREF(self->statement);
- self->statement = 0;
+ Py_CLEAR(self->statement);
}
Py_INCREF(Py_None);