Kaydet (Commit) 3bd9729d authored tarafından Benjamin Peterson's avatar Benjamin Peterson

implement tp_clear

üst e21a596d
...@@ -355,6 +355,15 @@ keyobject_traverse(keyobject *ko, visitproc visit, void *arg) ...@@ -355,6 +355,15 @@ keyobject_traverse(keyobject *ko, visitproc visit, void *arg)
return 0; 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[] = { static PyMemberDef keyobject_members[] = {
{"obj", T_OBJECT, {"obj", T_OBJECT,
offsetof(keyobject, object), 0, offsetof(keyobject, object), 0,
...@@ -392,7 +401,7 @@ static PyTypeObject keyobject_type = { ...@@ -392,7 +401,7 @@ static PyTypeObject keyobject_type = {
Py_TPFLAGS_DEFAULT, /* tp_flags */ Py_TPFLAGS_DEFAULT, /* tp_flags */
0, /* tp_doc */ 0, /* tp_doc */
(traverseproc)keyobject_traverse, /* tp_traverse */ (traverseproc)keyobject_traverse, /* tp_traverse */
0, /* tp_clear */ (inquiry)keyobject_clear, /* tp_clear */
keyobject_richcompare, /* tp_richcompare */ keyobject_richcompare, /* tp_richcompare */
0, /* tp_weaklistoffset */ 0, /* tp_weaklistoffset */
0, /* tp_iter */ 0, /* tp_iter */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment