summaryrefslogtreecommitdiffstats
path: root/Objects/exceptions.c
diff options
context:
space:
mode:
authorBenjamin Peterson <benjamin@python.org>2012-02-20 01:02:57 (GMT)
committerBenjamin Peterson <benjamin@python.org>2012-02-20 01:02:57 (GMT)
commit23d7f12ffb8983fa670ef289a03c3d55153f37ce (patch)
tree23eafcf933a4f63c8092e5ad9171000168ffd169 /Objects/exceptions.c
parent8eb1269c346fa860acce9459c0bed065ffccd3ce (diff)
downloadcpython-23d7f12ffb8983fa670ef289a03c3d55153f37ce.zip
cpython-23d7f12ffb8983fa670ef289a03c3d55153f37ce.tar.gz
cpython-23d7f12ffb8983fa670ef289a03c3d55153f37ce.tar.bz2
use new generic __dict__ descriptor implementations
Diffstat (limited to 'Objects/exceptions.c')
-rw-r--r--Objects/exceptions.c32
1 files changed, 1 insertions, 31 deletions
diff --git a/Objects/exceptions.c b/Objects/exceptions.c
index e770529..e9522e8 100644
--- a/Objects/exceptions.c
+++ b/Objects/exceptions.c
@@ -177,36 +177,6 @@ static PyMethodDef BaseException_methods[] = {
{NULL, NULL, 0, NULL},
};
-
-static PyObject *
-BaseException_get_dict(PyBaseExceptionObject *self)
-{
- if (self->dict == NULL) {
- self->dict = PyDict_New();
- if (!self->dict)
- return NULL;
- }
- Py_INCREF(self->dict);
- return self->dict;
-}
-
-static int
-BaseException_set_dict(PyBaseExceptionObject *self, PyObject *val)
-{
- if (val == NULL) {
- PyErr_SetString(PyExc_TypeError, "__dict__ may not be deleted");
- return -1;
- }
- if (!PyDict_Check(val)) {
- PyErr_SetString(PyExc_TypeError, "__dict__ must be a dictionary");
- return -1;
- }
- Py_CLEAR(self->dict);
- Py_INCREF(val);
- self->dict = val;
- return 0;
-}
-
static PyObject *
BaseException_get_args(PyBaseExceptionObject *self)
{
@@ -320,7 +290,7 @@ BaseException_set_cause(PyObject *self, PyObject *arg) {
static PyGetSetDef BaseException_getset[] = {
- {"__dict__", (getter)BaseException_get_dict, (setter)BaseException_set_dict},
+ {"__dict__", PyObject_GenericGetDict, PyObject_GenericSetDict},
{"args", (getter)BaseException_get_args, (setter)BaseException_set_args},
{"__traceback__", (getter)BaseException_get_tb, (setter)BaseException_set_tb},
{"__context__", (getter)BaseException_get_context,