[Python-checkins] python/dist/src/Python traceback.c,2.41,2.42
mondragon at users.sourceforge.net
mondragon at users.sourceforge.net
Sun Mar 21 13:37:26 EST 2004
Update of /cvsroot/python/python/dist/src/Python
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26501/Python
Modified Files:
traceback.c
Log Message:
Moved tracebackobject to traceback.h, Closes SF Bug #497067
Index: traceback.c
===================================================================
RCS file: /cvsroot/python/python/dist/src/Python/traceback.c,v
retrieving revision 2.41
retrieving revision 2.42
diff -C2 -d -r2.41 -r2.42
*** traceback.c 19 Nov 2003 15:24:47 -0000 2.41
--- traceback.c 21 Mar 2004 18:37:23 -0000 2.42
***************
*** 8,21 ****
#include "structmember.h"
#include "osdefs.h"
! typedef struct _tracebackobject {
! PyObject_HEAD
! struct _tracebackobject *tb_next;
! PyFrameObject *tb_frame;
! int tb_lasti;
! int tb_lineno;
! } tracebackobject;
!
! #define OFF(x) offsetof(tracebackobject, x)
static struct memberlist tb_memberlist[] = {
--- 8,14 ----
#include "structmember.h"
#include "osdefs.h"
+ #include "traceback.h"
! #define OFF(x) offsetof(PyTracebackObject, x)
static struct memberlist tb_memberlist[] = {
***************
*** 28,32 ****
static PyObject *
! tb_getattr(tracebackobject *tb, char *name)
{
return PyMember_Get((char *)tb, tb_memberlist, name);
--- 21,25 ----
static PyObject *
! tb_getattr(PyTracebackObject *tb, char *name)
{
return PyMember_Get((char *)tb, tb_memberlist, name);
***************
*** 34,38 ****
static void
! tb_dealloc(tracebackobject *tb)
{
PyObject_GC_UnTrack(tb);
--- 27,31 ----
static void
! tb_dealloc(PyTracebackObject *tb)
{
PyObject_GC_UnTrack(tb);
***************
*** 45,49 ****
static int
! tb_traverse(tracebackobject *tb, visitproc visit, void *arg)
{
int err = 0;
--- 38,42 ----
static int
! tb_traverse(PyTracebackObject *tb, visitproc visit, void *arg)
{
int err = 0;
***************
*** 59,63 ****
static void
! tb_clear(tracebackobject *tb)
{
Py_XDECREF(tb->tb_next);
--- 52,56 ----
static void
! tb_clear(PyTracebackObject *tb)
{
Py_XDECREF(tb->tb_next);
***************
*** 71,75 ****
0,
"traceback",
! sizeof(tracebackobject),
0,
(destructor)tb_dealloc, /*tp_dealloc*/
--- 64,68 ----
0,
"traceback",
! sizeof(PyTracebackObject),
0,
(destructor)tb_dealloc, /*tp_dealloc*/
***************
*** 103,110 ****
};
! static tracebackobject *
! newtracebackobject(tracebackobject *next, PyFrameObject *frame)
{
! tracebackobject *tb;
if ((next != NULL && !PyTraceBack_Check(next)) ||
frame == NULL || !PyFrame_Check(frame)) {
--- 96,103 ----
};
! static PyTracebackObject *
! newtracebackobject(PyTracebackObject *next, PyFrameObject *frame)
{
! PyTracebackObject *tb;
if ((next != NULL && !PyTraceBack_Check(next)) ||
frame == NULL || !PyFrame_Check(frame)) {
***************
*** 112,116 ****
return NULL;
}
! tb = PyObject_GC_New(tracebackobject, &PyTraceBack_Type);
if (tb != NULL) {
Py_XINCREF(next);
--- 105,109 ----
return NULL;
}
! tb = PyObject_GC_New(PyTracebackObject, &PyTraceBack_Type);
if (tb != NULL) {
Py_XINCREF(next);
***************
*** 130,135 ****
{
PyThreadState *tstate = frame->f_tstate;
! tracebackobject *oldtb = (tracebackobject *) tstate->curexc_traceback;
! tracebackobject *tb = newtracebackobject(oldtb, frame);
if (tb == NULL)
return -1;
--- 123,128 ----
{
PyThreadState *tstate = frame->f_tstate;
! PyTracebackObject *oldtb = (PyTracebackObject *) tstate->curexc_traceback;
! PyTracebackObject *tb = newtracebackobject(oldtb, frame);
if (tb == NULL)
return -1;
***************
*** 223,231 ****
static int
! tb_printinternal(tracebackobject *tb, PyObject *f, int limit)
{
int err = 0;
int depth = 0;
! tracebackobject *tb1 = tb;
while (tb1 != NULL) {
depth++;
--- 216,224 ----
static int
! tb_printinternal(PyTracebackObject *tb, PyObject *f, int limit)
{
int err = 0;
int depth = 0;
! PyTracebackObject *tb1 = tb;
while (tb1 != NULL) {
depth++;
***************
*** 268,272 ****
err = PyFile_WriteString("Traceback (most recent call last):\n", f);
if (!err)
! err = tb_printinternal((tracebackobject *)v, f, limit);
return err;
}
--- 261,265 ----
err = PyFile_WriteString("Traceback (most recent call last):\n", f);
if (!err)
! err = tb_printinternal((PyTracebackObject *)v, f, limit);
return err;
}
More information about the Python-checkins
mailing list