summaryrefslogtreecommitdiffstats
path: root/Python/traceback.c
diff options
context:
space:
mode:
Diffstat (limited to 'Python/traceback.c')
-rw-r--r--Python/traceback.c20
1 files changed, 6 insertions, 14 deletions
diff --git a/Python/traceback.c b/Python/traceback.c
index 6c11cf5..cfbd833 100644
--- a/Python/traceback.c
+++ b/Python/traceback.c
@@ -39,24 +39,16 @@ tb_dealloc(PyTracebackObject *tb)
static int
tb_traverse(PyTracebackObject *tb, visitproc visit, void *arg)
{
- int err = 0;
- if (tb->tb_next) {
- err = visit((PyObject *)tb->tb_next, arg);
- if (err)
- return err;
- }
- if (tb->tb_frame)
- err = visit((PyObject *)tb->tb_frame, arg);
- return err;
+ Py_VISIT(tb->tb_next);
+ Py_VISIT(tb->tb_frame);
+ return 0;
}
static void
tb_clear(PyTracebackObject *tb)
{
- Py_XDECREF(tb->tb_next);
- Py_XDECREF(tb->tb_frame);
- tb->tb_next = NULL;
- tb->tb_frame = NULL;
+ Py_CLEAR(tb->tb_next);
+ Py_CLEAR(tb->tb_frame);
}
PyTypeObject PyTraceBack_Type = {
@@ -165,7 +157,7 @@ tb_displayline(PyObject *f, char *filename, int lineno, char *name)
}
if (PyString_Check(v)) {
size_t len;
- len = PyString_Size(v);
+ len = PyString_GET_SIZE(v);
if (len + 1 + taillen >= MAXPATHLEN)
continue; /* Too long */
strcpy(namebuf, PyString_AsString(v));