1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

* eval.c (backtrace): skip frames successive on node and method name.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@10593 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
nobu 2006-07-24 13:04:39 +00:00
parent 227e7ba29c
commit 8c217096f4
2 changed files with 7 additions and 2 deletions

View file

@ -1,3 +1,7 @@
Mon Jul 24 22:03:40 2006 Nobuyoshi Nakada <nobu@ruby-lang.org>
* eval.c (backtrace): skip frames successive on node and method name.
Mon Jul 24 17:55:55 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
* process.c (rb_f_system): add security check. [ruby-talk:202947]

5
eval.c
View file

@ -5848,7 +5848,6 @@ rb_call0(klass, recv, id, oid, argc, argv, body, flags)
NODE *saved_cref = 0;
PUSH_SCOPE();
ruby_current_node = body;
if (body->nd_rval) {
saved_cref = ruby_cref;
ruby_cref = (NODE*)body->nd_rval;
@ -6254,7 +6253,9 @@ backtrace(lev)
}
for (; frame && (n = frame->node); frame = frame->prev) {
if (frame->prev && frame->prev->last_func) {
if (frame->prev->node == n) continue;
if (frame->prev->node == n) {
if (frame->prev->last_func == frame->last_func) continue;
}
snprintf(buf, BUFSIZ, "%s:%d:in `%s'",
n->nd_file, nd_line(n),
rb_id2name(frame->prev->last_func));