Author: jonathan
Date: Sun Mar 25 17:40:36 2007
New Revision: 17749
Modified:
trunk/src/inter_call.c
Log:
Parrot_PCCINVOKE fix for when there are either no arguments or no results.
Modified: trunk/src/inter_call.c
==============================================================================
--- trunk/src/inter_call.c (original)
+++ trunk/src/inter_call.c Sun Mar 25 17:40:36 2007
@@ -1370,8 +1370,10 @@
n_regs_used[3] = MAX( max_regs[3], max_regs[7] );
/* initialize arg and return sig FIAs with collected info */
- VTABLE_set_integer_native(interp, args_sig, arg_ret_cnt[0]);
- VTABLE_set_integer_native(interp, results_sig, arg_ret_cnt[1]);
+ if (arg_ret_cnt[0] > 0)
+ VTABLE_set_integer_native(interp, args_sig, arg_ret_cnt[0]);
+ if (arg_ret_cnt[1] > 0)
+ VTABLE_set_integer_native(interp, results_sig, arg_ret_cnt[1]);
ctx = Parrot_push_context(interp, n_regs_used);
/* reset n_regs_used so they can be reused during arg index allocation
step */