You are viewing a plain text version of this content. The canonical link for it is here.
Posted to embperl-cvs@perl.apache.org by ri...@apache.org on 2010/07/05 07:46:23 UTC

svn commit: r960450 - in /perl/embperl/trunk: Changes.pod epcache.c epcmd.c epcmd2.c epcomp.c epeval.c

Author: richter
Date: Mon Jul  5 05:46:23 2010
New Revision: 960450

URL: http://svn.apache.org/viewvc?rev=960450&view=rev
Log:
Make Embperl run with Perl 5.12

Modified:
    perl/embperl/trunk/Changes.pod
    perl/embperl/trunk/epcache.c
    perl/embperl/trunk/epcmd.c
    perl/embperl/trunk/epcmd2.c
    perl/embperl/trunk/epcomp.c
    perl/embperl/trunk/epeval.c

Modified: perl/embperl/trunk/Changes.pod
URL: http://svn.apache.org/viewvc/perl/embperl/trunk/Changes.pod?rev=960450&r1=960449&r2=960450&view=diff
==============================================================================
--- perl/embperl/trunk/Changes.pod (original)
+++ perl/embperl/trunk/Changes.pod Mon Jul  5 05:46:23 2010
@@ -16,6 +16,8 @@
     - Fix make test error for Perl compiled with DEBUGGING on
     - Support for internationalization in Emberl::Form
     - Do not link against unused libz
+    - Supports now Perl 5.12: Cope with changed flags G_ARRAY
+      and G_SCALAR, SVt_RV is now SVt_IV
 
 =head1 2.3.0  30. Sept. 2007
 

Modified: perl/embperl/trunk/epcache.c
URL: http://svn.apache.org/viewvc/perl/embperl/trunk/epcache.c?rev=960450&r1=960449&r2=960450&view=diff
==============================================================================
--- perl/embperl/trunk/epcache.c (original)
+++ perl/embperl/trunk/epcache.c Mon Jul  5 05:46:23 2010
@@ -265,7 +265,7 @@ int Cache_New (/*in*/ req *             
 
     /* lprintf (r -> pApp, "XXXXX Cache_New [%d/%d] pProviders=%x %s  pCacheItems=%x %s  pCachesToRelease=%x %s\n", _getpid(), GetCurrentThreadId(), pProviders, IsBadReadPtr (pProviders,4 )?"bad":"ok", pCacheItems, IsBadReadPtr (pCacheItems, 4)?"bad":"ok", pCachesToRelease, IsBadReadPtr (pCachesToRelease, 4)?"bad":"ok") ; */
 
-    if (SvTYPE(pParam) == SVt_RV)
+    if (SvROK(pParam))
         pParam = SvRV (pParam) ;
 
     if (SvTYPE(pParam) == SVt_PV)
@@ -435,7 +435,7 @@ int Cache_AppendKey               (/*in*
         }
 
     
-    if (SvTYPE(pParam) == SVt_RV)
+    if (SvROK(pParam))
         pParam = SvRV (pParam) ;
 
     if (SvTYPE(pParam) == SVt_PV)

Modified: perl/embperl/trunk/epcmd.c
URL: http://svn.apache.org/viewvc/perl/embperl/trunk/epcmd.c?rev=960450&r1=960449&r2=960450&view=diff
==============================================================================
--- perl/embperl/trunk/epcmd.c (original)
+++ perl/embperl/trunk/epcmd.c Mon Jul  5 05:46:23 2010
@@ -637,7 +637,7 @@ static int CmdForeach (/*i/o*/ register 
 	    if (pRV == NULL)
                 return rcMissingArgs ;
 
-            if (SvTYPE (pRV) != SVt_RV)
+            if (!SvROK (pRV))
                 {
                 SvREFCNT_dec (pRV) ;
                 return rcNotAnArray ;

Modified: perl/embperl/trunk/epcmd2.c
URL: http://svn.apache.org/viewvc/perl/embperl/trunk/epcmd2.c?rev=960450&r1=960449&r2=960450&view=diff
==============================================================================
--- perl/embperl/trunk/epcmd2.c (original)
+++ perl/embperl/trunk/epcmd2.c Mon Jul  5 05:46:23 2010
@@ -426,7 +426,7 @@ SV * Node_replaceChildWithUrlDATA (/*in*
     HV *   pHV ;    
     tDomTree * pDomTree = DomTree_self(xDomTree) ;
 
-    if (SvTYPE(sText) == SVt_RV && SvTYPE((pAV = (AV *)SvRV(sText))) == SVt_PVAV)
+    if (SvROK(sText) && SvTYPE((pAV = (AV *)SvRV(sText))) == SVt_PVAV)
 	{ /* Array reference inside URL */
 	SV ** ppSV ;
 	int i ;
@@ -453,7 +453,7 @@ SV * Node_replaceChildWithUrlDATA (/*in*
     
 	}
 
-    else if (SvTYPE(sText) == SVt_RV && SvTYPE((pHV = (HV *)SvRV(sText))) == SVt_PVHV)
+    else if (SvROK(sText) && SvTYPE((pHV = (HV *)SvRV(sText))) == SVt_PVHV)
 	{ /* Hash reference inside URL */
         HE *	    pEntry ;
         char *	    pKey ;

Modified: perl/embperl/trunk/epcomp.c
URL: http://svn.apache.org/viewvc/perl/embperl/trunk/epcomp.c?rev=960450&r1=960449&r2=960450&view=diff
==============================================================================
--- perl/embperl/trunk/epcomp.c (original)
+++ perl/embperl/trunk/epcomp.c Mon Jul  5 05:46:23 2010
@@ -143,7 +143,7 @@ int embperl_CompileInitItem      (/*i/o*
 
     ppSV = hv_fetch(pHash, "perlcode", 8, 0) ;  
     if (ppSV != NULL && *ppSV != NULL && 
-        SvTYPE(*ppSV) == SVt_RV && SvTYPE((pAV = (AV *)SvRV(*ppSV))) == SVt_PVAV)
+        SvROK(*ppSV)  && SvTYPE((pAV = (AV *)SvRV(*ppSV))) == SVt_PVAV)
 	{ /* Array reference  */
 	int f = AvFILL(pAV) + 1 ;
         int i ;
@@ -176,7 +176,7 @@ int embperl_CompileInitItem      (/*i/o*
 
     ppSV = hv_fetch(pHash, "compiletimeperlcode", 19, 0) ;  
     if (ppSV != NULL && *ppSV != NULL && 
-        SvTYPE(*ppSV) == SVt_RV && SvTYPE((pAV = (AV *)SvRV(*ppSV))) == SVt_PVAV)
+        SvROK(*ppSV) && SvTYPE((pAV = (AV *)SvRV(*ppSV))) == SVt_PVAV)
 	{ /* Array reference  */
 	int f = AvFILL(pAV) + 1 ;
         int i ;
@@ -420,7 +420,7 @@ static void embperl_CompilePushStack    
     if (ppSV == NULL)
         return  ;
 
-    if (*ppSV == NULL || SvTYPE (*ppSV) != SVt_RV)
+    if (*ppSV == NULL || !SvROK (*ppSV))
 	{
 	if (*ppSV)
 	    SvREFCNT_dec (*ppSV) ;
@@ -456,7 +456,7 @@ static void embperl_CompilePopStack    (
     SV *    pSV ;
 
     ppSV = hv_fetch((HV *)(pDomTree -> pSV), (char *)sStackName, strlen (sStackName), 0) ;  
-    if (ppSV == NULL || *ppSV == NULL || SvTYPE (*ppSV) != SVt_RV)
+    if (ppSV == NULL || *ppSV == NULL || !SvROK (*ppSV))
         return  ;
 
     pSV = av_pop ((AV *)SvRV (*ppSV)) ;
@@ -486,7 +486,7 @@ static int embperl_CompileMatchStack (/*
     char *  s ;
 
     ppSV = hv_fetch((HV *)(pDomTree -> pSV), (char *)sStackName, strlen (sStackName), 0) ;  
-    if (ppSV == NULL || *ppSV == NULL || SvTYPE (*ppSV) != SVt_RV)
+    if (ppSV == NULL || *ppSV == NULL || !SvROK (*ppSV))
         {
         strcpy (r -> errdat1, "CompileMatchStack") ;
         strncat (r -> errdat1, (char *)sStackName, sizeof (r -> errdat1) - 20) ;
@@ -541,7 +541,7 @@ static int embperl_CompileAddStack    (/
 
 
     ppSV = hv_fetch((HV *)(pDomTree -> pSV), (char *)p, e - p, 0) ;  
-    if (ppSV == NULL || *ppSV == NULL || SvTYPE (*ppSV) != SVt_RV)
+    if (ppSV == NULL || *ppSV == NULL || !SvROK (*ppSV))
         return  op == '!'?1:0 ;
 
     pAV = (AV *)SvRV (*ppSV) ;

Modified: perl/embperl/trunk/epeval.c
URL: http://svn.apache.org/viewvc/perl/embperl/trunk/epeval.c?rev=960450&r1=960449&r2=960450&view=diff
==============================================================================
--- perl/embperl/trunk/epeval.c (original)
+++ perl/embperl/trunk/epeval.c Mon Jul  5 05:46:23 2010
@@ -350,12 +350,12 @@ static int EvalAll (/*i/o*/ register req
 	sRef = "; \\&" ;
     
     if (r -> Component.bStrict)
-        if (flags & G_ARRAY)
+        if ((flags & G_ARRAY) != G_SCALAR)
             pSVCmd = newSVpvf(sFormatStrictArray, r -> Component.sEvalPackage, sName, r -> Component.nSourceline, r -> Component.sSourcefile, sArg, sRef, sName) ;
         else
             pSVCmd = newSVpvf(sFormatStrict, r -> Component.sEvalPackage, sName, r -> Component.nSourceline, r -> Component.sSourcefile, sArg, sRef, sName) ;
     else
-        if (flags & G_ARRAY)
+        if ((flags & G_ARRAY) != G_SCALAR)
             pSVCmd = newSVpvf(sFormatArray, r -> Component.sEvalPackage, sName, r -> Component.nSourceline, r -> Component.sSourcefile, sArg, sRef, sName) ;
         else
             pSVCmd = newSVpvf(sFormat, r -> Component.sEvalPackage, sName, r -> Component.nSourceline, r -> Component.sSourcefile, sArg, sRef, sName) ;
@@ -624,7 +624,7 @@ int EvalOnly           (/*i/o*/ register
     if (ppSV && *ppSV)
 	 SvREFCNT_dec (*ppSV) ;
 
-    if (rc == ok && pSub != NULL && SvTYPE (pSub) == SVt_RV)
+    if (rc == ok && pSub != NULL && SvROK (pSub))
         {
         /*sv_setsv (*ppSV, pSub) ;*/
         *ppSV = SvRV(pSub) ;



---------------------------------------------------------------------
To unsubscribe, e-mail: embperl-cvs-unsubscribe@perl.apache.org
For additional commands, e-mail: embperl-cvs-help@perl.apache.org