summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Include/setobject.h2
-rw-r--r--Objects/setobject.c8
2 files changed, 6 insertions, 4 deletions
diff --git a/Include/setobject.h b/Include/setobject.h
index 2739d623ac..fc32367724 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 ee11b9f9b1..4b4213ab8a 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;
}