diff options
author | Benjamin Peterson <benjamin@python.org> | 2011-04-05 22:25:14 (GMT) |
---|---|---|
committer | Benjamin Peterson <benjamin@python.org> | 2011-04-05 22:25:14 (GMT) |
commit | 3bd9729dc92ad3fc57aee17479231eb426fd076f (patch) | |
tree | c9dfbc2ebe0e6f2785b12286d4b58ddfb17430d8 /Modules | |
parent | e21a596d51b156745202975524c79f450c6e0e71 (diff) | |
download | cpython-3bd9729dc92ad3fc57aee17479231eb426fd076f.zip cpython-3bd9729dc92ad3fc57aee17479231eb426fd076f.tar.gz cpython-3bd9729dc92ad3fc57aee17479231eb426fd076f.tar.bz2 |
implement tp_clear
Diffstat (limited to 'Modules')
-rw-r--r-- | Modules/_functoolsmodule.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/Modules/_functoolsmodule.c b/Modules/_functoolsmodule.c index 311c6df..061204e 100644 --- a/Modules/_functoolsmodule.c +++ b/Modules/_functoolsmodule.c @@ -355,6 +355,15 @@ keyobject_traverse(keyobject *ko, visitproc visit, void *arg) return 0; } +static int +keyobject_clear(keyobject *ko) +{ + Py_CLEAR(ko->cmp); + if (ko->object) + Py_CLEAR(ko->object); + return 0; +} + static PyMemberDef keyobject_members[] = { {"obj", T_OBJECT, offsetof(keyobject, object), 0, @@ -392,7 +401,7 @@ static PyTypeObject keyobject_type = { Py_TPFLAGS_DEFAULT, /* tp_flags */ 0, /* tp_doc */ (traverseproc)keyobject_traverse, /* tp_traverse */ - 0, /* tp_clear */ + (inquiry)keyobject_clear, /* tp_clear */ keyobject_richcompare, /* tp_richcompare */ 0, /* tp_weaklistoffset */ 0, /* tp_iter */ |