summaryrefslogtreecommitdiffstats
path: root/Python/traceback.c
diff options
context:
space:
mode:
authorGuido van Rossum <guido@python.org>1997-01-24 04:02:55 (GMT)
committerGuido van Rossum <guido@python.org>1997-01-24 04:02:55 (GMT)
commitb3f515af646abf590f57fc6fe0da9eedfbbbb367 (patch)
tree942fd0df06b9d98b6c746f8fca7c1802c794a05c /Python/traceback.c
parent747596a4917cc8924519bdee081a894ebcb0e059 (diff)
downloadcpython-b3f515af646abf590f57fc6fe0da9eedfbbbb367.zip
cpython-b3f515af646abf590f57fc6fe0da9eedfbbbb367.tar.gz
cpython-b3f515af646abf590f57fc6fe0da9eedfbbbb367.tar.bz2
Get the line number from PyCode_Addr2Line instead of believing
tb_lineno. Store it in tb_lineno for the user.
Diffstat (limited to 'Python/traceback.c')
-rw-r--r--Python/traceback.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/Python/traceback.c b/Python/traceback.c
index b06a742..3f80ef5 100644
--- a/Python/traceback.c
+++ b/Python/traceback.c
@@ -243,11 +243,14 @@ tb_printinternal(tb, f, limit)
tb1 = tb1->tb_next;
}
while (tb != NULL && !intrcheck()) {
- if (depth <= limit)
+ if (depth <= limit) {
+ tb->tb_lineno = PyCode_Addr2Line(tb->tb_frame->f_code,
+ tb->tb_lasti);
tb_displayline(f,
getstringvalue(tb->tb_frame->f_code->co_filename),
tb->tb_lineno,
getstringvalue(tb->tb_frame->f_code->co_name));
+ }
depth--;
tb = tb->tb_next;
}