Use PyObject_CheckReadBuffer().
diff --git a/Modules/newmodule.c b/Modules/newmodule.c
index 9a9cbf1..6c29fe4 100644
--- a/Modules/newmodule.c
+++ b/Modules/newmodule.c
@@ -153,12 +153,7 @@
Py_DECREF(empty);
}
- pb = code->ob_type->tp_as_buffer;
- if (pb == NULL ||
- pb->bf_getreadbuffer == NULL ||
- pb->bf_getsegcount == NULL ||
- (*pb->bf_getsegcount)(code, NULL) != 1)
- {
+ if (!PyObject_CheckReadBuffer(code)) {
PyErr_SetString(PyExc_TypeError,
"bytecode object must be a single-segment read-only buffer");
return NULL;