Author: richter
Date: Sat Jan 11 15:49:46 2025
New Revision: 1923076

URL: http://svn.apache.org/viewvc?rev=1923076&view=rev
Log:
Make unstructured_forwar/backward_jump a normal error, that does not exit the 
program and clarify the error message

Added:
    perl/embperl/trunk/test/cmp/error_forward_jump.htm
    perl/embperl/trunk/test/html/error_forward_jump.htm
Modified:
    perl/embperl/trunk/MANIFEST
    perl/embperl/trunk/epdom.c
    perl/embperl/trunk/test.pl

Modified: perl/embperl/trunk/MANIFEST
URL: 
http://svn.apache.org/viewvc/perl/embperl/trunk/MANIFEST?rev=1923076&r1=1923075&r2=1923076&view=diff
==============================================================================
--- perl/embperl/trunk/MANIFEST (original)
+++ perl/embperl/trunk/MANIFEST Sat Jan 11 15:49:46 2025
@@ -298,6 +298,7 @@ test/cmp/error.htm
 test/cmp/errormismatch.htm
 test/cmp/errormismatchcmd.htm
 test/cmp/errorfirstrun.htm
+test/cmp/error_forward_jump.htm
 test/cmp/errpage.htm
 test/cmp/escape.htm
 test/cmp/escraw.htm
@@ -506,6 +507,7 @@ test/html/errmsg.htm
 test/html/errmsg2.htm
 test/html/error.htm
 test/html/errorfirstrun.htm
+test/html/error_forward_jump.htm
 test/html/escape.htm
 test/html/escraw.htm
 test/html/escutf8.htm

Modified: perl/embperl/trunk/epdom.c
URL: 
http://svn.apache.org/viewvc/perl/embperl/trunk/epdom.c?rev=1923076&r1=1923075&r2=1923076&view=diff
==============================================================================
--- perl/embperl/trunk/epdom.c (original)
+++ perl/embperl/trunk/epdom.c Sat Jan 11 15:49:46 2025
@@ -1834,8 +1834,6 @@ void DomTree_checkpoint (tReq * r, tInde
                     }
                 else
                     {
-                    char buf[512] ;
-
                     if ((a -> pCurrReq?a -> pCurrReq -> 
Component.Config.bDebug:a -> Config.bDebug) & dbgCheckpoint)
                         lprintf (a, "[%d]Checkpoint: jump forward2 DomTree=%d 
Index=%d Node=%d(%d),%d,%d Line=%d -> Index=%d Node=%d(%d),%d,%d Line=%d 
SVs=%d\n", 
                                       a -> pThread -> nPid, r -> 
Component.xCurrDomTree, nCompileCheckpoint, 
@@ -1846,19 +1844,15 @@ void DomTree_checkpoint (tReq * r, tInde
                                       pRunParent -> xNdx, 
pRunParent2?pRunParent2 -> xNdx:-1, 
                                       pRunNode -> nLinenumber, sv_count) ; 
     
-                    sprintf(buf, "Unstructured forward jump, %200.200s Line %d 
-> Line %d", DomTree_filename(r -> Component.xCurrDomTree), pPrevNode -> 
nLinenumber, pRunNode -> nLinenumber) ;
-                    mydie (a, buf) ;
+                    Perl_croak(aTHX_ "Unstructured forward jump, %s. Start and 
End (Line %d - Line %d) of block does not match.", DomTree_filename(r -> 
Component.xCurrDomTree), pPrevNode -> nLinenumber, pRunNode -> nLinenumber) ;
                     }
                 }
             else
                 {
-                char buf[512] ;
-
                 if ((a -> pCurrReq?a -> pCurrReq -> Component.Config.bDebug:a 
-> Config.bDebug) & dbgCheckpoint)
                        lprintf (a, "[%d]Checkpoint: jump forward DomTree=%d 
Index=%d Node=%d Line=%d -> Index=%d Node=%d Line=%d SVs=%d\n", a -> pThread -> 
nPid, r -> Component.xCurrDomTree, nCompileCheckpoint, pPrevNode -> xNdx, 
pPrevNode -> nLinenumber, nRunCheckpoint, pRunNode -> xNdx, pRunNode -> 
nLinenumber, sv_count) ; 
     
-                sprintf(buf, "Unstructured forward jump (no parents), 
%200.200s Line %d -> Line %d", DomTree_filename(r -> Component.xCurrDomTree), 
pPrevNode -> nLinenumber, pRunNode -> nLinenumber) ;
-                mydie (a, buf) ;
+                Perl_croak(aTHX_ "Unstructured forward jump, %s. Start and End 
(Line %d - Line %d) of block does not match.", DomTree_filename(r -> 
Component.xCurrDomTree), pPrevNode -> nLinenumber, pRunNode -> nLinenumber) ;
                 }
             r -> Component.nCurrCheckpoint = nRunCheckpoint + 1 ;
             return ;
@@ -1989,8 +1983,6 @@ void DomTree_checkpoint (tReq * r, tInde
             }
         else
             {
-            char buf[512] ;
-            
             if ((a -> pCurrReq?a -> pCurrReq -> Component.Config.bDebug:a -> 
Config.bDebug) & dbgCheckpoint)
                lprintf (a, "[%d]Checkpoint: jump backward2 DomTree=%d Index=%d 
Node=%d(%d),%d(%d) Line=%d -> Index=%d Node=%d(%d),%d(%d) Line=%d SVs=%d\n", 
                            a -> pThread -> nPid, r -> Component.xCurrDomTree, 
@@ -2001,8 +1993,7 @@ void DomTree_checkpoint (tReq * r, tInde
                                                pRunParent -> xNdx,     
xNode_selfLevelNull(pDomTree,pRunParent),
                                                pRunNode -> nLinenumber, 
sv_count) ; 
 
-            sprintf(buf, "Unstructured backward jump, %200.200s Line %d -> 
Line %d", DomTree_filename(r -> Component.xCurrDomTree), pPrevNode -> 
nLinenumber, pRunNode -> nLinenumber) ;
-            mydie (a, buf) ;
+            Perl_croak(aTHX_ "Unstructured backward jump, %s. Start and End 
(Line %d - Line %d) of block does not match.", DomTree_filename(r -> 
Component.xCurrDomTree), pPrevNode -> nLinenumber, pRunNode -> nLinenumber) ;
             }
         }
     r -> Component.nCurrCheckpoint = nRunCheckpoint + 1 ;

Modified: perl/embperl/trunk/test.pl
URL: 
http://svn.apache.org/viewvc/perl/embperl/trunk/test.pl?rev=1923076&r1=1923075&r2=1923076&view=diff
==============================================================================
--- perl/embperl/trunk/test.pl (original)
+++ perl/embperl/trunk/test.pl Sat Jan 11 15:49:46 2025
@@ -122,6 +122,10 @@ use lib '.';
         'version'    => 2,
         'condition'  => '$] >= 5.006000',
         },
+    'error_forward_jump.htm' => { 
+        'errors'     => 1,
+        'version'    => 2,
+        },
     'unclosed.htm' => { 
         'errors'     => '1',
         },

Added: perl/embperl/trunk/test/cmp/error_forward_jump.htm
URL: 
http://svn.apache.org/viewvc/perl/embperl/trunk/test/cmp/error_forward_jump.htm?rev=1923076&view=auto
==============================================================================
--- perl/embperl/trunk/test/cmp/error_forward_jump.htm (added)
+++ perl/embperl/trunk/test/cmp/error_forward_jump.htm Sat Jan 11 15:49:46 2025
@@ -0,0 +1,17 @@
+<HTML><HEAD><TITLE>Embperl Error</TITLE></HEAD><BODY bgcolor="#FFFFFF">
+<H1>Internal Server Error</H1>
+The server encountered an internal error or misconfiguration and was unable to 
complete your request.<P>
+^Please contact the server administrator
+<table cellspacing='2' cellpadding='5'>
+<tr bgcolor='#eeeeee'><td>
+<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+^ERR:  24:  Error in Perl code: Unstructured forward 
jump,.+test/html/error_forward_jump.htm. Start and End \(Line 1 - Line 9\) of 
block does not match. at .+test/html/error_forward_jump.htm line 10.
+<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+</td></tr>
+</table>
+<br>
+
+^Embperl
+</BODY></HTML>
+    
+    
\ No newline at end of file

Added: perl/embperl/trunk/test/html/error_forward_jump.htm
URL: 
http://svn.apache.org/viewvc/perl/embperl/trunk/test/html/error_forward_jump.htm?rev=1923076&view=auto
==============================================================================
--- perl/embperl/trunk/test/html/error_forward_jump.htm (added)
+++ perl/embperl/trunk/test/html/error_forward_jump.htm Sat Jan 11 15:49:46 2025
@@ -0,0 +1,12 @@
+<html>
+    <head>
+        <title>hello I am a test</title>
+    </head>
+    <body>
+        <h1>hello I am a test</h1>
+        [$ if 0 $]
+        <table>
+        [$ endif $]
+        </table>
+    </body>
+</html>



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

Reply via email to