summaryrefslogtreecommitdiffstats
path: root/Python
diff options
context:
space:
mode:
authorVictor Stinner <victor.stinner@haypocalc.com>2011-04-01 13:34:01 (GMT)
committerVictor Stinner <victor.stinner@haypocalc.com>2011-04-01 13:34:01 (GMT)
commitfcb88c45030c5480ca184a2911bd3f9357b323d5 (patch)
treec59451f8d3b28e0803362ee42e85e500d1a2ef54 /Python
parenta01ca12a524b608dfa9a3ac3131f4f5be96fa860 (diff)
downloadcpython-fcb88c45030c5480ca184a2911bd3f9357b323d5.zip
cpython-fcb88c45030c5480ca184a2911bd3f9357b323d5.tar.gz
cpython-fcb88c45030c5480ca184a2911bd3f9357b323d5.tar.bz2
Issue #11393: _Py_DumpTraceback() writes the header even if there is no frame
Diffstat (limited to 'Python')
-rw-r--r--Python/traceback.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/Python/traceback.c b/Python/traceback.c
index 37673d9..f0142da 100644
--- a/Python/traceback.c
+++ b/Python/traceback.c
@@ -556,18 +556,19 @@ dump_frame(int fd, PyFrameObject *frame)
write(fd, "\n", 1);
}
-static int
+static void
dump_traceback(int fd, PyThreadState *tstate, int write_header)
{
PyFrameObject *frame;
unsigned int depth;
+ if (write_header)
+ PUTS(fd, "Traceback (most recent call first):\n");
+
frame = _PyThreadState_GetFrame(tstate);
if (frame == NULL)
- return -1;
+ return;
- if (write_header)
- PUTS(fd, "Traceback (most recent call first):\n");
depth = 0;
while (frame != NULL) {
if (MAX_FRAME_DEPTH <= depth) {
@@ -580,13 +581,12 @@ dump_traceback(int fd, PyThreadState *tstate, int write_header)
frame = frame->f_back;
depth++;
}
- return 0;
}
-int
+void
_Py_DumpTraceback(int fd, PyThreadState *tstate)
{
- return dump_traceback(fd, tstate, 1);
+ dump_traceback(fd, tstate, 1);
}
/* Write the thread identifier into the file 'fd': "Current thread 0xHHHH:\" if