| 19123 | #endif |
| 19124 | } |
| 19125 | static CYTHON_INLINE void __Pyx_ErrFetchInState(PyThreadState *tstate, PyObject **type, PyObject **value, PyObject **tb) { |
| 19126 | #if PY_VERSION_HEX >= 0x030C00A6 |
| 19127 | PyObject* exc_value; |
| 19128 | exc_value = tstate->current_exception; |
| 19129 | tstate->current_exception = 0; |
| 19130 | *value = exc_value; |
| 19131 | *type = NULL; |
| 19132 | *tb = NULL; |
| 19133 | if (exc_value) { |
| 19134 | *type = (PyObject*) Py_TYPE(exc_value); |
| 19135 | Py_INCREF(*type); |
| 19136 | #if CYTHON_COMPILING_IN_CPYTHON |
| 19137 | *tb = ((PyBaseExceptionObject*) exc_value)->traceback; |
| 19138 | Py_XINCREF(*tb); |
| 19139 | #else |
| 19140 | *tb = PyException_GetTraceback(exc_value); |
| 19141 | #endif |
| 19142 | } |
| 19143 | #else |
| 19144 | *type = tstate->curexc_type; |
| 19145 | *value = tstate->curexc_value; |
| 19146 | *tb = tstate->curexc_traceback; |
| 19147 | tstate->curexc_type = 0; |
| 19148 | tstate->curexc_value = 0; |
| 19149 | tstate->curexc_traceback = 0; |
| 19150 | #endif |
| 19151 | } |
| 19152 | #endif |
| 19153 | |
| 19154 | /* PyObjectGetAttrStr (used by PyObjectGetAttrStrNoError) */ |
no outgoing calls
no test coverage detected