From: Raymond Hettinger Date: Mon, 28 Jan 2008 21:47:42 +0000 (+0000) Subject: Factor-out common code with a new macro X-Git-Tag: v2.6a1~351 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=7759a0cd76105e6685008da7a1e2deb6e0d37c38;p=thirdparty%2FPython%2Fcpython.git Factor-out common code with a new macro --- diff --git a/Include/setobject.h b/Include/setobject.h index 2739d623ac27..fc32367724ea 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 ee11b9f9b141..4b4213ab8a3c 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; }