Ticket #1346: src.call.args.c.patch
File src.call.args.c.patch, 1.3 KB (added by jkeenan, 12 years ago) |
---|
-
src/call/args.c
939 939 { 940 940 ASSERT_ARGS(fill_params) 941 941 PMC *named_used_list = PMCNULL; 942 PMC *arg_sig;943 942 INTVAL *raw_params; 944 943 INTVAL param_count = VTABLE_elements(interp, raw_sig); 945 944 INTVAL param_index = 0; … … 963 962 return; 964 963 } 965 964 966 positional_args = VTABLE_elements(interp, call_object);967 GETATTR_CallSignature_arg_flags(interp, call_object, arg_sig);968 965 GETATTR_FixedIntegerArray_int_array(interp, raw_sig, raw_params); 969 966 970 967 /* EXPERIMENTAL! This block adds provisional :call_sig param support on the … … 988 985 /* First iterate over positional args and positional parameters. */ 989 986 arg_index = 0; 990 987 param_index = 0; 988 positional_args = VTABLE_elements(interp, call_object); 991 989 while (1) { 992 990 INTVAL param_flags; 993 991 … … 1169 1167 } 1170 1168 1171 1169 if (arg_index < positional_args) { 1170 PMC *arg_sig; 1171 1172 GETATTR_CallSignature_arg_flags(interp, call_object, arg_sig); 1173 1172 1174 /* We've used up all the positional parameters, but have extra 1173 1175 * positional args left over. */ 1174 1176 if (VTABLE_get_integer_keyed_int(interp, arg_sig, arg_index) & PARROT_ARG_NAME) {