summaryrefslogtreecommitdiff
path: root/iseq.c
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-01-20 23:45:05 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-01-20 23:45:05 +0000
commit03a284b8bdd3d4dbf9c6b0bc2cabd047148c8038 (patch)
tree3966b52fb06536fb45b71b3e60c255b1396e84d1 /iseq.c
parent34271a335edeb5d1789438fb0840971f8f561ac1 (diff)
* iseq.c (iseq_s_disasm): check for proc first. based on the
patch by Roger Pack in [ruby-core:27626]. [ruby-core:27227] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@26363 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'iseq.c')
-rw-r--r--iseq.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/iseq.c b/iseq.c
index 7a59fce049..3c957c7692 100644
--- a/iseq.c
+++ b/iseq.c
@@ -1012,10 +1012,7 @@ iseq_s_disasm(VALUE klass, VALUE body)
rb_secure(1);
- if ((iseq = rb_method_get_iseq(body)) != 0) {
- ret = rb_iseq_disasm(iseq->self);
- }
- else if (rb_obj_is_proc(body)) {
+ if (rb_obj_is_proc(body)) {
rb_proc_t *proc;
VALUE iseqval;
GetProcPtr(body, proc);
@@ -1024,6 +1021,9 @@ iseq_s_disasm(VALUE klass, VALUE body)
ret = rb_iseq_disasm(iseqval);
}
}
+ else if ((iseq = rb_method_get_iseq(body)) != 0) {
+ ret = rb_iseq_disasm(iseq->self);
+ }
return ret;
}