[Bast-commits] r4932 - Devel-Declare/1.000/trunk

matthewt at dev.catalyst.perl.org matthewt at dev.catalyst.perl.org
Sat Oct 18 10:06:13 BST 2008


Author: matthewt
Date: 2008-10-18 10:06:13 +0100 (Sat, 18 Oct 2008)
New Revision: 4932

Modified:
   Devel-Declare/1.000/trunk/Changes
   Devel-Declare/1.000/trunk/Declare.xs
Log:
switch done_declare from call_argv to call_pv

Modified: Devel-Declare/1.000/trunk/Changes
===================================================================
--- Devel-Declare/1.000/trunk/Changes	2008-10-18 08:32:18 UTC (rev 4931)
+++ Devel-Declare/1.000/trunk/Changes	2008-10-18 09:06:13 UTC (rev 4932)
@@ -1,5 +1,7 @@
 Changes for Devel-Declare
 
+  - switch done_declare call from call_argv to call_pv
+
 0.002001
   - clean up checks for whether we're lexing and whether lex_stuff exists
     to handle the PL_parser factor-out in 5.10

Modified: Devel-Declare/1.000/trunk/Declare.xs
===================================================================
--- Devel-Declare/1.000/trunk/Declare.xs	2008-10-18 08:32:18 UTC (rev 4931)
+++ Devel-Declare/1.000/trunk/Declare.xs	2008-10-18 09:06:13 UTC (rev 4932)
@@ -194,12 +194,10 @@
 STATIC OP *dd_ck_rv2cv(pTHX_ OP *o) {
   OP* kid;
   int dd_flags;
-  char* cb_args[6];
 
   o = dd_old_ck_rv2cv(aTHX_ o); /* let the original do its job */
 
   if (in_declare) {
-    cb_args[0] = NULL;
     if (dd_debug) {
       printf("Deconstructing declare\n");
       printf("PL_bufptr: %s\n", PL_bufptr);
@@ -207,7 +205,19 @@
       printf("linestr: %s\n", SvPVX(PL_linestr));
       printf("linestr len: %i\n", PL_bufend - SvPVX(PL_linestr));
     }
-    call_argv("Devel::Declare::done_declare", G_VOID|G_DISCARD, cb_args);
+
+    dSP;
+  
+    ENTER;
+    SAVETMPS;
+  
+    PUSHMARK(SP);
+  
+    call_pv("Devel::Declare::done_declare", G_VOID|G_DISCARD);
+
+    FREETMPS;
+    LEAVE;
+
     if (dd_debug) {
       printf("PL_bufptr: %s\n", PL_bufptr);
       printf("bufend at: %i\n", PL_bufend - PL_bufptr);




More information about the Bast-commits mailing list