bpo-40170: Convert PyObject_CheckBuffer() macro to a function (GH-19376)
Convert PyObject_CheckBuffer() macro to a function to hide
implementation details: the macro accessed directly the
PyTypeObject.tp_as_buffer member.
diff --git a/Include/cpython/abstract.h b/Include/cpython/abstract.h
index 9d23c8c..3f834ff 100644
--- a/Include/cpython/abstract.h
+++ b/Include/cpython/abstract.h
@@ -264,9 +264,7 @@
/* === New Buffer API ============================================ */
/* Return 1 if the getbuffer function is available, otherwise return 0. */
-#define PyObject_CheckBuffer(obj) \
- ((Py_TYPE(obj)->tp_as_buffer != NULL) && \
- (Py_TYPE(obj)->tp_as_buffer->bf_getbuffer != NULL))
+PyAPI_FUNC(int) PyObject_CheckBuffer(PyObject *obj);
/* This is a C-API version of the getbuffer function call. It checks
to make sure object has the required function pointer and issues the