[svn:parrot] r41703 - branches/pcc_reapply/src/call

allison at svn.parrot.org allison at svn.parrot.org
Sun Oct 4 18:08:09 UTC 2009


Author: allison
Date: Sun Oct  4 18:08:08 2009
New Revision: 41703
URL: https://trac.parrot.org/parrot/changeset/41703

Log:
[pcc] Add checking for a named parameter that doesn't have a string name.

Modified:
   branches/pcc_reapply/src/call/args.c

Modified: branches/pcc_reapply/src/call/args.c
==============================================================================
--- branches/pcc_reapply/src/call/args.c	Sun Oct  4 17:43:43 2009	(r41702)
+++ branches/pcc_reapply/src/call/args.c	Sun Oct  4 18:08:08 2009	(r41703)
@@ -811,6 +811,9 @@
 
             /* Fill a named parameter with a positional argument. */
             if (param_flags & PARROT_ARG_NAME) {
+                if (!(param_flags & PARROT_ARG_STRING))
+                    Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_INVALID_OPERATION,
+                            "named parameters must have a name specified");
                 STRING *param_name = PARROT_ARG_CONSTANT_ISSET(param_flags)
                                    ? accessor->string_constant(interp, arg_info, param_index)
                                    : *accessor->string(interp, arg_info, param_index);
@@ -950,6 +953,9 @@
         }
 
         /* Store the name. */
+       if (!(param_flags & PARROT_ARG_STRING))
+            Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_INVALID_OPERATION,
+                    "named parameters must have a name specified");
         param_name = PARROT_ARG_CONSTANT_ISSET(param_flags)
                                ? accessor->string_constant(interp, arg_info, param_index)
                                : *accessor->string(interp, arg_info, param_index);


More information about the parrot-commits mailing list