All pastes #28917 Raw Edit

kikidonk

public c v1 · immutable
#28917 ·published 2005-11-16 16:23 UTC
rendered paste body
static PyObject*call_with_frame(PyCodeObject *c, PyObject* func, PyObject* args,                xmlparseobject *self){    PyThreadState *tstate = PyThreadState_GET();    PyGILState_STATE state;    PyFrameObject *f;    PyObject *res;    if (c == NULL)        return NULL;        f = PyFrame_New(tstate, c, PyEval_GetGlobals(), NULL);    if (f == NULL)        return NULL;    tstate->frame = f;#ifdef FIX_TRACE    if (trace_frame(tstate, f, PyTrace_CALL, Py_None) < 0) {	return NULL;    }#endif      	state = PyGILState_Acquire();    res = PyEval_CallObject(func, args);    PyGILState_Release(state);        if (res == NULL) {	if (tstate->curexc_traceback == NULL)	    PyTraceBack_Here(f);        XML_StopParser(self->itself, XML_FALSE);#ifdef FIX_TRACE	if (trace_frame_exc(tstate, f) < 0) {	    return NULL;	}    }    else {	if (trace_frame(tstate, f, PyTrace_RETURN, res) < 0) {	    Py_XDECREF(res);	    res = NULL;	}    }#else    }#endif    tstate->frame = f->f_back;    Py_DECREF(f);    return res;}