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 */

Reply via email to