diff options
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | eval.c | 6 |
2 files changed, 7 insertions, 3 deletions
@@ -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> * vm.c, insnhelper.ci: fix svar interface. @@ -1813,8 +1813,8 @@ exec_under(VALUE (*func) (VALUE), VALUE under, VALUE self, VALUE args) cfp = RUBY_VM_PREVIOUS_CONTROL_FRAME(cfp); } - stored_cref = vm_cfp_svar_get(th, cfp, -1); - vm_cfp_svar_set(th, cfp, -1, vm_cref_push(th, under, NOEX_PUBLIC)); + stored_cref = (NODE *)vm_cfp_svar_get(th, cfp, (VALUE)-1); + vm_cfp_svar_set(th, cfp, (VALUE)-1, (VALUE)vm_cref_push(th, under, NOEX_PUBLIC)); PUSH_TAG(); if ((state = EXEC_TAG()) == 0) { @@ -1823,7 +1823,7 @@ exec_under(VALUE (*func) (VALUE), VALUE under, VALUE self, VALUE args) POP_TAG(); /* 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; if (state) { |