* eval.c (exec_under): add proper casts.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12732 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
a6e3d19f3a
commit
3ead5dcfb4
@ -1,3 +1,7 @@
|
|||||||
|
Tue Jul 10 18:49:56 2007 Koichi Sasada <ko1@atdot.net>
|
||||||
|
|
||||||
|
* eval.c (exec_under): add proper casts.
|
||||||
|
|
||||||
Tue Jul 10 16:58:16 2007 Koichi Sasada <ko1@atdot.net>
|
Tue Jul 10 16:58:16 2007 Koichi Sasada <ko1@atdot.net>
|
||||||
|
|
||||||
* vm.c, insnhelper.ci: fix svar interface.
|
* vm.c, insnhelper.ci: fix svar interface.
|
||||||
|
6
eval.c
6
eval.c
@ -1813,8 +1813,8 @@ exec_under(VALUE (*func) (VALUE), VALUE under, VALUE self, VALUE args)
|
|||||||
cfp = RUBY_VM_PREVIOUS_CONTROL_FRAME(cfp);
|
cfp = RUBY_VM_PREVIOUS_CONTROL_FRAME(cfp);
|
||||||
}
|
}
|
||||||
|
|
||||||
stored_cref = vm_cfp_svar_get(th, cfp, -1);
|
stored_cref = (NODE *)vm_cfp_svar_get(th, cfp, (VALUE)-1);
|
||||||
vm_cfp_svar_set(th, cfp, -1, vm_cref_push(th, under, NOEX_PUBLIC));
|
vm_cfp_svar_set(th, cfp, (VALUE)-1, (VALUE)vm_cref_push(th, under, NOEX_PUBLIC));
|
||||||
|
|
||||||
PUSH_TAG();
|
PUSH_TAG();
|
||||||
if ((state = EXEC_TAG()) == 0) {
|
if ((state = EXEC_TAG()) == 0) {
|
||||||
@ -1823,7 +1823,7 @@ exec_under(VALUE (*func) (VALUE), VALUE under, VALUE self, VALUE args)
|
|||||||
POP_TAG();
|
POP_TAG();
|
||||||
|
|
||||||
/* restore environment */
|
/* restore environment */
|
||||||
vm_cfp_svar_set(th, cfp, -1, stored_cref);
|
vm_cfp_svar_set(th, cfp, (VALUE)-1, (VALUE)stored_cref);
|
||||||
pcfp->self = stored_self;
|
pcfp->self = stored_self;
|
||||||
|
|
||||||
if (state) {
|
if (state) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user