In the C API Docs, the signature of PyBool from long seems to be incorrect.
int PyBool_FromLong(long v)
Returns Py_True or Py_False depending on the truth value of v. New in version 2.3.
The description would suggest:
PyObject* PyBool_FromLong(long v)