diff options
author | Anthony Baxter <anthonybaxter@gmail.com> | 2006-04-04 06:29:05 +0000 |
---|---|---|
committer | Anthony Baxter <anthonybaxter@gmail.com> | 2006-04-04 06:29:05 +0000 |
commit | 72289a616c90949f7a2d3b2af12cd1044e64717d (patch) | |
tree | 278f2963d2f72baad0859e6b5e9056b9daddd446 /Modules/_sqlite/microprotocols.c | |
parent | a058836e969eba03142bc8f01418a28741f70dc3 (diff) | |
download | cpython-git-72289a616c90949f7a2d3b2af12cd1044e64717d.tar.gz |
Update to pysqlite 2.2.0
Diffstat (limited to 'Modules/_sqlite/microprotocols.c')
-rw-r--r-- | Modules/_sqlite/microprotocols.c | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/Modules/_sqlite/microprotocols.c b/Modules/_sqlite/microprotocols.c index 5df41a1901..5040acdc0d 100644 --- a/Modules/_sqlite/microprotocols.c +++ b/Modules/_sqlite/microprotocols.c @@ -45,9 +45,7 @@ microprotocols_init(PyObject *dict) return -1; } - PyDict_SetItemString(dict, "adapters", psyco_adapters); - - return 0; + return PyDict_SetItemString(dict, "adapters", psyco_adapters); } @@ -65,8 +63,17 @@ microprotocols_add(PyTypeObject *type, PyObject *proto, PyObject *cast) cast, type->tp_name); */ + key = Py_BuildValue("(OO)", (PyObject*)type, proto); - PyDict_SetItem(psyco_adapters, key, cast); + if (!key) { + return -1; + } + + if (PyDict_SetItem(psyco_adapters, key, cast) != 0) { + Py_DECREF(key); + return -1; + } + Py_DECREF(key); return 0; @@ -85,6 +92,9 @@ microprotocols_adapt(PyObject *obj, PyObject *proto, PyObject *alt) /* look for an adapter in the registry */ key = Py_BuildValue("(OO)", (PyObject*)obj->ob_type, proto); + if (!key) { + return NULL; + } adapter = PyDict_GetItem(psyco_adapters, key); Py_DECREF(key); if (adapter) { |