From 7759a0cd76105e6685008da7a1e2deb6e0d37c38 Mon Sep 17 00:00:00 2001 From: Raymond Hettinger Date: Mon, 28 Jan 2008 21:47:42 +0000 Subject: Factor-out common code with a new macro --- Include/setobject.h | 2 ++ Objects/setobject.c | 8 ++++---- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/Include/setobject.h b/Include/setobject.h index 2739d62..fc32367 100644 --- a/Include/setobject.h +++ b/Include/setobject.h @@ -73,6 +73,8 @@ PyAPI_DATA(PyTypeObject) PyFrozenSet_Type; (Py_TYPE(ob) == &PySet_Type || Py_TYPE(ob) == &PyFrozenSet_Type || \ PyType_IsSubtype(Py_TYPE(ob), &PySet_Type) || \ PyType_IsSubtype(Py_TYPE(ob), &PyFrozenSet_Type)) +#define PySet_Check(ob) \ + (Py_TYPE(ob) == &PySet_Type || PyType_IsSubtype(Py_TYPE(ob), &PySet_Type)) PyAPI_FUNC(PyObject *) PySet_New(PyObject *); PyAPI_FUNC(PyObject *) PyFrozenSet_New(PyObject *); diff --git a/Objects/setobject.c b/Objects/setobject.c index ee11b9f..4b4213a 100644 --- a/Objects/setobject.c +++ b/Objects/setobject.c @@ -2158,7 +2158,7 @@ PySet_Size(PyObject *anyset) int PySet_Clear(PyObject *set) { - if (!PyType_IsSubtype(Py_TYPE(set), &PySet_Type)) { + if (!PySet_Check(set)) { PyErr_BadInternalCall(); return -1; } @@ -2178,7 +2178,7 @@ PySet_Contains(PyObject *anyset, PyObject *key) int PySet_Discard(PyObject *set, PyObject *key) { - if (!PyType_IsSubtype(Py_TYPE(set), &PySet_Type)) { + if (!PySet_Check(set)) { PyErr_BadInternalCall(); return -1; } @@ -2229,7 +2229,7 @@ _PySet_NextEntry(PyObject *set, Py_ssize_t *pos, PyObject **key, long *hash) PyObject * PySet_Pop(PyObject *set) { - if (!PyType_IsSubtype(Py_TYPE(set), &PySet_Type)) { + if (!PySet_Check(set)) { PyErr_BadInternalCall(); return NULL; } @@ -2239,7 +2239,7 @@ PySet_Pop(PyObject *set) int _PySet_Update(PyObject *set, PyObject *iterable) { - if (!PyType_IsSubtype(Py_TYPE(set), &PySet_Type)) { + if (!PySet_Check(set)) { PyErr_BadInternalCall(); return -1; } -- cgit v0.12