-static PyObject* set_error(int r, const char* invalid_message) {
- assert (r < 0);
-
- if (r == -EINVAL && invalid_message)
- PyErr_SetString(PyExc_ValueError, invalid_message);
- else if (r == -ENOMEM)
- PyErr_SetString(PyExc_MemoryError, "Not enough memory");
- else {
- errno = -r;
- PyErr_SetFromErrno(PyExc_OSError);
- }
-
- return NULL;
-}
-