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 2002/05/28 08:56:06 UTC

cvs commit: embperl/xsbuilder/maps ep_structure.map

richter     02/05/27 23:56:05

  Modified:    .        Tag: Embperl2c Changes.pod Embperl.pm Embperl.xs
                        MANIFEST Old.xs epcomp.c epdom.c epeval.c epmain.c
                        epprovider.c test.pl
               test/cmp Tag: Embperl2c exit.htm includeerr2.htm
               test/html Tag: Embperl2c execviamod.pm exit.htm
                        includeerr2.htm
               xsbuilder/maps Tag: Embperl2c ep_structure.map
  Added:       test/cmp Tag: Embperl2c execviamod.htm
  Log:
  fix problem in cmdtable & exit handling
  
  Revision  Changes    Path
  No                   revision
  
  
  No                   revision
  
  
  1.129.4.73 +7 -0      embperl/Changes.pod
  
  Index: Changes.pod
  ===================================================================
  RCS file: /home/cvs/embperl/Changes.pod,v
  retrieving revision 1.129.4.72
  retrieving revision 1.129.4.73
  diff -u -r1.129.4.72 -r1.129.4.73
  --- Changes.pod	24 May 2002 20:06:30 -0000	1.129.4.72
  +++ Changes.pod	28 May 2002 06:56:02 -0000	1.129.4.73
  @@ -2,6 +2,10 @@
   
   =head1 2.0b8
   
  +   - exit can now exit the whole request. When called without argument
  +     it exits the current component, like before, when called with argument
  +     it exits the whole request.
  +   - Added support for Apache 2.0 / mod_perl 2.0 (prefork MPM).   
      - when setting $r -> param -> filename in an application object
        to a relativ path it is interpreted relativ to original request
      - fixed bug with setting of escmode and print Out reported by
  @@ -29,6 +33,9 @@
      - Fixed a reference count error when using the import parameter. Reported
        by Michael Smith.
      - Fixed string reference counting problem in RTF&POD syntax.
  +   - Fixed a segfault that had occured when a file with a syntax error is compiled
  +     the second time within the same process. Reported by Michael Smith.
  +
   
   =head1 2.0b7 (BETA) 21. Mar. 2002
   
  
  
  
  1.118.4.112 +9 -4      embperl/Embperl.pm
  
  Index: Embperl.pm
  ===================================================================
  RCS file: /home/cvs/embperl/Embperl.pm,v
  retrieving revision 1.118.4.111
  retrieving revision 1.118.4.112
  diff -u -r1.118.4.111 -r1.118.4.112
  --- Embperl.pm	27 May 2002 17:53:12 -0000	1.118.4.111
  +++ Embperl.pm	28 May 2002 06:56:03 -0000	1.118.4.112
  @@ -10,7 +10,7 @@
   #   IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
   #   WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
   #
  -#   $Id: Embperl.pm,v 1.118.4.111 2002/05/27 17:53:12 richter Exp $
  +#   $Id: Embperl.pm,v 1.118.4.112 2002/05/28 06:56:03 richter Exp $
   #
   ###################################################################################
   
  @@ -50,7 +50,7 @@
   
   @ISA = qw(Exporter DynaLoader);
   
  -$VERSION = '2.0b8_dev-9' ;
  +$VERSION = '2.0b8_dev-10' ;
   
   
   if ($modperl  = $ENV{MOD_PERL})
  @@ -74,6 +74,7 @@
       require Apache::ServerUtil ;
       require Apache::RequestRec ;
       require Apache::RequestUtil ;
  +    require Apache::SubRequest ;
       }
   
   if (!defined(&Embperl::Init))
  @@ -168,10 +169,11 @@
       
       {
       my $_ep_param = shift ;
  +    my $rc ;
   
       if (!ref $_ep_param)
           {
  -        $Embperl::req -> execute_component ({ inputfile => $_ep_param, param => [@_]}) ;
  +        $rc = $Embperl::req -> execute_component ({ inputfile => $_ep_param, param => [@_]}) ;
           }
       elsif ($_ep_param -> {object})
           {
  @@ -189,8 +191,11 @@
           }
       else
           {
  -        $Embperl::req -> execute_component ($_ep_param) ;
  +        $rc = $Embperl::req -> execute_component ($_ep_param) ;
           }
  +    Embperl::exit() if ($Embperl::req -> had_exit) ;
  +
  +    return $rc ;
       }
   
   #######################################################################################
  
  
  
  1.29.4.53 +10 -0     embperl/Embperl.xs
  
  Index: Embperl.xs
  ===================================================================
  RCS file: /home/cvs/embperl/Embperl.xs,v
  retrieving revision 1.29.4.52
  retrieving revision 1.29.4.53
  diff -u -r1.29.4.52 -r1.29.4.53
  --- Embperl.xs	23 May 2002 07:54:47 -0000	1.29.4.52
  +++ Embperl.xs	28 May 2002 06:56:03 -0000	1.29.4.53
  @@ -17,6 +17,16 @@
   #include "xs/ep_xs_sv_convert.h"
   
   
  +/* for embperl_exit */
  +static IV errgv_empty_set(IV ix, SV * sv)
  +{ 
  +    dTHX ;
  +    sv_setsv(sv, &sv_undef);
  +    return TRUE;
  +}
  +
  +
  +
   
   MODULE = Embperl    PACKAGE = Embperl   PREFIX = embperl_
   
  
  
  
  1.50.4.47 +1 -0      embperl/MANIFEST
  
  Index: MANIFEST
  ===================================================================
  RCS file: /home/cvs/embperl/MANIFEST,v
  retrieving revision 1.50.4.46
  retrieving revision 1.50.4.47
  diff -u -r1.50.4.46 -r1.50.4.47
  --- MANIFEST	27 May 2002 17:53:12 -0000	1.50.4.46
  +++ MANIFEST	28 May 2002 06:56:03 -0000	1.50.4.47
  @@ -221,6 +221,7 @@
   test/cmp/execprint.htm
   test/cmp/execsecond.htm
   test/cmp/executesub.htm
  +test/cmp/execviamod.htm
   test/cmp/exit.htm
   test/cmp/exit2.htm
   test/cmp/exit3.htm
  
  
  
  1.1.2.8   +19 -417   embperl/Attic/Old.xs
  
  Index: Old.xs
  ===================================================================
  RCS file: /home/cvs/embperl/Attic/Old.xs,v
  retrieving revision 1.1.2.7
  retrieving revision 1.1.2.8
  diff -u -r1.1.2.7 -r1.1.2.8
  --- Old.xs	17 May 2002 14:07:01 -0000	1.1.2.7
  +++ Old.xs	28 May 2002 06:56:03 -0000	1.1.2.8
  @@ -1,4 +1,6 @@
   
  +
  +
   MODULE = Embperl      PACKAGE = Embperl     PREFIX = embperl_
   
   PROTOTYPES: ENABLE
  @@ -8,21 +10,6 @@
   # /* ---- Helper ----- */
   
   
  -
  -int
  -embperl_Multiplicity()
  -CODE:
  -#ifdef MULTIPLICITY
  -    RETVAL = 1 ;
  -#else
  -    RETVAL = 0 ;
  -#endif
  -OUTPUT:
  -    RETVAL
  -
  -
  -
  -
   #if defined (__GNUC__) && defined (__i386__)
   
   void
  @@ -34,54 +21,6 @@
   
   
   
  -char *
  -embperl_GVFile(gv)
  -    SV * gv
  -CODE:
  -    RETVAL = "" ;
  -#ifdef GvFILE
  -    if (gv && SvTYPE(gv) == SVt_PVGV && GvGP (gv))
  -	{
  -	/*
  -	char * name = GvFILE (gv) ;
  -	if (name)
  -	    RETVAL = name ;
  -        */
  -        /* workaround for not working GvFILE in Perl 5.6.1+ with threads */
  -	if(GvIMPORTED(gv))
  -            RETVAL = "i" ;
  -        else
  -            RETVAL = "" ;
  -       
  -        }
  -#else
  -    if (gv && SvTYPE(gv) == SVt_PVGV && GvGP (gv))
  -	{
  -	GV * fgv = GvFILEGV(gv) ;
  -	if (fgv && SvTYPE(fgv) == SVt_PVGV)
  -	    {
  -	    char * name = GvNAME (fgv) ;
  -	    if (name)
  -		RETVAL = name ;
  -	    }
  -	}
  -#endif
  -OUTPUT:
  -    RETVAL
  -
  -
  -
  -#if 0
  -tReq *
  -embperl_CurrReq()
  -CODE:        
  -    RETVAL = CurrReq ;
  -OUTPUT:
  -    RETVAL
  - 
  -#endif
  -
  -
   double
   Clock()
   CODE:
  @@ -95,7 +34,6 @@
   
   
   
  -
   void
   embperl_logerror(code, sText, pApacheReqSV=NULL)
       int    code
  @@ -188,20 +126,29 @@
   
   
   
  +
   void
  -embperl_exit()
  +embperl_exit(...)
   CODE:
       /* from mod_perl's perl_util.c */
       struct ufuncs umg;
  -	sv_magic(ERRSV, Nullsv, 'U', (char*) &umg, sizeof(umg));
   
  -	ENTER;
  -	SAVESPTR(diehook);
  -	diehook = Nullsv; 
  -	croak("");
  -	LEAVE; /* we don't get this far, but croak() will rewind */
  +    umg.uf_val = errgv_empty_set;
  +    umg.uf_set = errgv_empty_set;
  +    umg.uf_index = (IV)0;
  +
  +    sv_magic(ERRSV, Nullsv, 'U', (char*) &umg, sizeof(umg));
  +
  +    ENTER;
  +    SAVESPTR(diehook);
  +    diehook = Nullsv; 
  +    if (items > 0)
  +        croak("request %d", SvIV(ST(0)));
  +    else
  +        croak("component");
  +    LEAVE; /* we don't get this far, but croak() will rewind */
   
  -	sv_unmagic(ERRSV, 'U');
  +    sv_unmagic(ERRSV, 'U');
   
   
   
  @@ -218,291 +165,6 @@
   MODULE = Embperl      PACKAGE = Embperl::Req     PREFIX = embperl_
   
   
  -#if 0
  -SV *
  -embperl_ExportHash(r)
  -    tReq * r
  -CODE:
  -    RETVAL = RETVAL ; /* avoid warning */
  -    if (r -> Buf.pFile && r -> Buf.pFile -> pExportHash)
  -	{
  -        ST(0) = newRV_inc((SV *)r -> Buf.pFile -> pExportHash) ;
  -	if (SvREFCNT(ST(0))) sv_2mortal(ST(0));
  -	}
  -    else
  -        ST(0) = &sv_undef ;
  -
  -
  -char *
  -embperl_Sourcefile(r)
  -    tReq * r
  -CODE:
  -    if (r -> Buf.pFile)
  -        RETVAL = r -> Buf.pFile -> sSourcefile ;
  -    else
  -        RETVAL = NULL;
  -OUTPUT:
  -    RETVAL
  -
  -char *
  -embperl_Path(r,sPath=NULL)
  -    tReq * r
  -    char * sPath
  -CODE:
  -    RETVAL = NULL;
  -    if (r -> pConf)
  -        {
  -        if (sPath)
  -            {
  -            if (r -> pConf -> sPath)
  -                free (r -> pConf -> sPath) ;
  -            r -> pConf -> sPath = sstrdup (sPath) ;
  -            }
  -        if (r -> pConf -> sPath)
  -            RETVAL = r -> pConf -> sPath ;
  -        }
  -OUTPUT:
  -    RETVAL
  -
  -
  -int
  -embperl_PathNdx(r,nNdx=-1)
  -    tReq * r
  -    int    nNdx
  -CODE:
  -    if (nNdx >= 0)
  -        r -> nPathNdx = nNdx ;
  -    RETVAL = r -> nPathNdx ;
  -OUTPUT:
  -    RETVAL
  -
  -
  -char *
  -embperl_ReqFilename(r)
  -    tReq * r
  -CODE:
  -    if (r -> pConf && r -> pConf -> sReqFilename)
  -        RETVAL = r -> pConf -> sReqFilename ;
  -    else
  -        RETVAL = NULL;
  -OUTPUT:
  -    RETVAL
  -
  -int
  -embperl_Debug(r)
  -    tReq * r
  -CODE:
  -    RETVAL = r -> bDebug ;
  -OUTPUT:
  -    RETVAL
  -
  -SV *
  -embperl_ApacheReq(r,...)
  -    tReq * r
  -CODE:
  -    RETVAL = RETVAL ; /* avoid warning */
  -#ifdef APACHE
  -    ST(0) = r -> pApacheReqSV ;
  -    SvREFCNT_inc(ST(0)) ;
  -    sv_2mortal(ST(0));
  -#else
  -    ST(0) = &sv_undef ;
  -#endif
  -#ifdef APACHE
  -    if (items > 1)
  -        {
  -        if (SvROK (ST(1)))
  -            r -> pApacheReq = (request_rec *)SvIV((SV*)SvRV(ST(1)));
  -        else
  -            r -> pApacheReq = NULL ;
  -        r -> pApacheReqSV = ST(1) ;
  -        }
  -#endif
  -
  -
  -
  -SV *
  -embperl_ErrArray(r)
  -    tReq * r
  -CODE:
  -    RETVAL = newRV_inc((SV *)r -> pErrArray) ;
  -OUTPUT:
  -    RETVAL
  -
  -
  -
  -SV *
  -embperl_FormArray(r)
  -    tReq * r
  -CODE:
  -    RETVAL = newRV_inc((SV *)r -> pFormArray) ;
  -OUTPUT:
  -    RETVAL
  -
  -
  -SV *
  -embperl_FormHash(r)
  -    tReq * r
  -CODE:
  -    RETVAL = newRV_inc((SV *)r -> pFormHash) ;
  -OUTPUT:
  -    RETVAL
  -
  -
  -
  -SV *
  -embperl_EnvHash(r)
  -    tReq * r
  -CODE:
  -    RETVAL = newRV_inc((SV *)r -> pEnvHash) ;
  -OUTPUT:
  -    RETVAL
  -
  -
  -
  -
  -long
  -embperl_LogFileStartPos(r)
  -    tReq * r
  -CODE:
  -    RETVAL = r -> nLogFileStartPos ;
  -OUTPUT:
  -    RETVAL
  -
  -
  -
  -
  -
  -char *
  -embperl_VirtLogURI(r)
  -    tReq * r
  -CODE:
  -    if (r -> pConf)
  -        RETVAL = r -> pConf -> sVirtLogURI ;
  -    else
  -        RETVAL = NULL ;
  -OUTPUT:
  -    RETVAL
  -
  -
  -
  -
  -char *
  -embperl_CookieName(r)
  -    tReq * r
  -CODE:
  -    if (r -> pConf)
  -        RETVAL = r -> pConf -> sCookieName ;
  -    else
  -        RETVAL = NULL ;
  -OUTPUT:
  -    RETVAL
  -
  -
  -int
  -embperl_SessionMgnt(r,...)
  -    tReq * r
  -CODE:
  -    RETVAL = r -> nSessionMgnt ;
  -    if (items > 1)
  -        r -> nSessionMgnt = (int)SvIV(ST(1)) ;
  -OUTPUT:
  -    RETVAL
  -
  -
  -int
  -embperl_SubReq(r)
  -    tReq * r
  -CODE:
  -    RETVAL = r -> bSubReq ;
  -OUTPUT:
  -    RETVAL
  -
  -int
  -embperl_IsFormHashSetup(r)
  -    tReq * r
  -CODE:
  -    RETVAL = r -> bIsFormHashSetup ;
  -OUTPUT:
  -    RETVAL
  -
  -int
  -embperl_IsImport(r)
  -    tReq * r
  -CODE:
  -    RETVAL = r -> pImportStash?1:0 ;
  -OUTPUT:
  -    RETVAL
  -
  -
  -SV *
  -embperl_ReqParameter(r)
  -    tReq * r
  -CODE:
  -    RETVAL = NULL;
  -    if (r -> pConf)
  -        {
  -        if (r -> pConf -> pReqParameter)
  -            RETVAL = newRV_inc((SV *)r -> pConf -> pReqParameter) ;
  -        }
  -OUTPUT:
  -    RETVAL
  -
  -
  -
  -
  -
  -int
  -embperl_Error(r,...)
  -    tReq * r
  -CODE:
  -    RETVAL = r -> bError ;
  -    if (items > 1)
  -        r -> bError = (int)SvIV(ST(1)) ;
  -OUTPUT:
  -    RETVAL
  -
  -
  -int
  -embperl_ProcessBlock(r,nBlockStart,nBlockSize,nBlockNo)
  -    tReq * r
  -    int     nBlockStart
  -    int     nBlockSize
  -    int     nBlockNo
  -CODE:
  -    RETVAL = ProcessBlock(r,nBlockStart,nBlockSize,nBlockNo) ;
  -OUTPUT:
  -    RETVAL
  -
  -
  -int
  -embperl_ProcessSub(r,pFile,nBlockStart,nBlockNo)
  -    tReq * r
  -    IV      pFile
  -    int     nBlockStart
  -    int     nBlockNo
  -CODE:
  -    RETVAL = ProcessSub(r,(tFile *)pFile, nBlockStart, nBlockNo) ;
  -OUTPUT:
  -    RETVAL
  -
  -
  -void
  -embperl_logevalerr(r,sText)
  -    tReq * r
  -    char * sText
  -PREINIT:
  -    int l ;
  -CODE:
  -     l = strlen (sText) ;
  -     while (l > 0 && isspace(sText[l-1]))
  -        sText[--l] = '\0' ;
  -
  -     strncpy (r -> errdat1, sText, sizeof (r -> errdat1) - 1) ;
  -     LogError (r, rcEvalErr) ;
  -
  -#endif
  -
   void
   embperl_logerror(r,code, sText,pApacheReqSV=NULL)
       tReq * r
  @@ -540,27 +202,6 @@
   #endif
   
   
  -#if 0
  -int
  -embperl_getloghandle(r)
  -    tReq * r
  -CODE:
  -    RETVAL = GetLogHandle(r) ;
  -OUTPUT:
  -    RETVAL
  -
  -
  -long
  -embperl_getlogfilepos(r)
  -    tReq * r
  -CODE:
  -    OpenLog (r, "", 2) ;
  -    RETVAL = GetLogFilePos(r) ;
  -OUTPUT:
  -    RETVAL
  -
  -#endif
  -
   void
   embperl_output(r,sText)
       tReq * r
  @@ -616,45 +257,6 @@
    
   
   
  -#if 0
  -
  -
  -char *
  -embperl_SyntaxName(r)
  -    tReq * r
  -CODE:
  -    if (r && r -> pTokenTable && r -> pTokenTable -> sName)
  -        RETVAL = (char *)r -> pTokenTable -> sName ;
  -    else
  -        RETVAL = "" ;
  -OUTPUT:
  -    RETVAL               
  - 
  -
  -void
  -embperl_Syntax(r, pSyntaxObj)
  -    tReq * r
  -    tTokenTable *    pSyntaxObj ;
  -CODE:
  -    r -> pTokenTable = pSyntaxObj ;
  -
  -SV *
  -embperl_Code(r,...)
  -    tReq * r
  -CODE:
  -    RETVAL = r -> pCodeSV ;
  -    if (items > 1)
  -        {
  -        if (r -> pCodeSV)
  -            SvREFCNT_dec (r -> pCodeSV) ;
  -        r -> pCodeSV = ST(1) ;
  -        SvREFCNT_inc (r -> pCodeSV) ;
  -        }
  -    ST(0) = RETVAL;
  -    /*if (RETVAL != &sv_undef)
  -        sv_2mortal(ST(0));*/
  -
  -#endif
   
   INCLUDE: Cmd.xs
   
  
  
  
  1.4.2.97  +2 -2      embperl/Attic/epcomp.c
  
  Index: epcomp.c
  ===================================================================
  RCS file: /home/cvs/embperl/Attic/epcomp.c,v
  retrieving revision 1.4.2.96
  retrieving revision 1.4.2.97
  diff -u -r1.4.2.96 -r1.4.2.97
  --- epcomp.c	20 Mar 2002 20:38:58 -0000	1.4.2.96
  +++ epcomp.c	28 May 2002 06:56:03 -0000	1.4.2.97
  @@ -9,7 +9,7 @@
   #   IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
   #   WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
   #
  -#   $Id: epcomp.c,v 1.4.2.96 2002/03/20 20:38:58 richter Exp $
  +#   $Id: epcomp.c,v 1.4.2.97 2002/05/28 06:56:03 richter Exp $
   #
   ###################################################################################*/
   
  @@ -112,8 +112,8 @@
       
   
   
  +    ArraySet (r -> pApp, &pInfo -> pEmbperlCmds, nNodeName+1) ;
   
  -    ArraySet (r -> pApp, &pInfo -> pEmbperlCmds, nNodeName) ;
       if (pInfo -> nMaxEmbperlCmd < nNodeName)
   	pInfo -> nMaxEmbperlCmd = nNodeName ;
       pCmd = &pInfo -> pEmbperlCmds[nNodeName] ;
  
  
  
  1.4.2.91  +29 -2     embperl/Attic/epdom.c
  
  Index: epdom.c
  ===================================================================
  RCS file: /home/cvs/embperl/Attic/epdom.c,v
  retrieving revision 1.4.2.90
  retrieving revision 1.4.2.91
  diff -u -r1.4.2.90 -r1.4.2.91
  --- epdom.c	24 May 2002 20:06:30 -0000	1.4.2.90
  +++ epdom.c	28 May 2002 06:56:03 -0000	1.4.2.91
  @@ -9,7 +9,7 @@
   #   IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
   #   WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
   #
  -#   $Id: epdom.c,v 1.4.2.90 2002/05/24 20:06:30 richter Exp $
  +#   $Id: epdom.c,v 1.4.2.91 2002/05/28 06:56:03 richter Exp $
   #
   ###################################################################################*/
   
  @@ -26,7 +26,6 @@
   #undef free
   
   
  -
   HV * pStringTableHash ;	    /* Hash to translate strings to index number */
   HE * * pStringTableArray  ;   /* Array with pointers to strings */
   static tStringIndex  * pFreeStringsNdx  ;   /* List of freed string indexes */
  @@ -209,6 +208,12 @@
   	m_size++;
   	m = (void *) m_size ;
   	}
  +    else
  +        {
  +        char buf[256] ;
  +        sprintf (buf, "%d bytes", n) ;
  +        LogErrorParam (a, rcOutOfMemory, "str_malloc failed", buf) ;
  +        }
   
       return m ;
       }
  @@ -230,6 +235,12 @@
   	m_size++;
   	m = (void *) m_size ;
   	}
  +    else
  +        {
  +        char buf[256] ;
  +        sprintf (buf, "%d bytes", n) ;
  +        LogErrorParam (a, rcOutOfMemory, "str_malloc_dbg failed", buf) ;
  +        }
   
       return m ;
       }
  @@ -252,6 +263,13 @@
   	m_size++;
   	m = (void *) m_size ;
   	}
  +    else
  +        {
  +        char buf[256] ;
  +        sprintf (buf, "%d bytes", n) ;
  +        LogErrorParam (a, rcOutOfMemory, "str_realloc failed", buf) ;
  +        }
  +    
       return m ;
       }
   
  @@ -274,6 +292,13 @@
   	m_size++;
   	m = (void *) m_size ;
   	}
  +    else
  +        {
  +        char buf[256] ;
  +        sprintf (buf, "%d bytes", n) ;
  +        LogErrorParam (a, rcOutOfMemory, "str_realloc failed", buf) ;
  +        }
  +
       return m ;
       }
   
  @@ -602,7 +627,9 @@
   	    return 0 ;
   #else	
   	if ((pNew = str_realloc (a, pCtrl, nNewMax * pCtrl -> nElementSize + sizeof (struct tArrayCtrl))) == NULL)
  +            {
   	    return 0 ;
  +            }
   #endif
   	
   	p = (char *)(pNew + 1) ;
  
  
  
  1.23.4.25 +10 -5     embperl/epeval.c
  
  Index: epeval.c
  ===================================================================
  RCS file: /home/cvs/embperl/epeval.c,v
  retrieving revision 1.23.4.24
  retrieving revision 1.23.4.25
  diff -u -r1.23.4.24 -r1.23.4.25
  --- epeval.c	27 Feb 2002 11:58:23 -0000	1.23.4.24
  +++ epeval.c	28 May 2002 06:56:03 -0000	1.23.4.25
  @@ -10,7 +10,7 @@
   #   IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
   #   WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
   #
  -#   $Id: epeval.c,v 1.23.4.24 2002/02/27 11:58:23 richter Exp $
  +#   $Id: epeval.c,v 1.23.4.25 2002/05/28 06:56:03 richter Exp $
   #
   ###################################################################################*/
   
  @@ -776,6 +776,7 @@
        FREETMPS ;
        LEAVE ;
   
  +    /*
        if (r -> bExit || r -> Component.bExit)
   	 {
   	 if (*pRet)
  @@ -785,7 +786,8 @@
               lprintf (r -> pApp,  "[%d]EVAL> exit passed through\n", r -> pThread -> nPid) ;
   	 return rcExit ;
   	 }
  -     
  +     */
  +
        pSVErr = ERRSV ;
        if (SvTRUE (pSVErr))
           {
  @@ -802,18 +804,21 @@
   
               tDomTree * pDomTree = DomTree_self (r -> Component.xCurrDomTree) ;
               tIndex n = ArrayGetSize (r -> pApp, pDomTree -> pCheckpoints) ;
  -                lprintf (r -> pApp,  "[%d]EVAL> exit called n = %d\n", r -> pThread -> nPid, n) ;
               if (n > 2)
                   DomTree_checkpoint (r, n-1) ;
   
  +            p = SvPV(ERRSV, l) ;
  +            if (l > 0 && strncmp (p, "request ",8) == 0)
  +                r -> bExit = 1 ;
  +            
               if (r -> Component.Config.bDebug & dbgEval)
  -                lprintf (r -> pApp,  "[%d]EVAL> exit called\n", r -> pThread -> nPid) ;
  +                lprintf (r -> pApp,  "[%d]EVAL> %s exit called (%s)\n", r -> pThread -> nPid, r -> bExit?"request":"component", p?p:"") ;
               
   	    sv_unmagic(pSVErr,'U');
   	    sv_setpv(pSVErr,"");
   
   	    r -> Component.Config.bOptions |= optNoUncloseWarn ;
  -	    r -> bExit = 1 ;
  +	    r -> Component.bExit = 1 ;
   
               return rcExit ;
               }
  
  
  
  1.75.4.120 +2 -2      embperl/epmain.c
  
  Index: epmain.c
  ===================================================================
  RCS file: /home/cvs/embperl/epmain.c,v
  retrieving revision 1.75.4.119
  retrieving revision 1.75.4.120
  diff -u -r1.75.4.119 -r1.75.4.120
  --- epmain.c	24 May 2002 05:43:14 -0000	1.75.4.119
  +++ epmain.c	28 May 2002 06:56:03 -0000	1.75.4.120
  @@ -10,7 +10,7 @@
   #   IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
   #   WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
   #
  -#   $Id: epmain.c,v 1.75.4.119 2002/05/24 05:43:14 richter Exp $
  +#   $Id: epmain.c,v 1.75.4.120 2002/05/28 06:56:03 richter Exp $
   #
   ###################################################################################*/
   
  @@ -116,7 +116,7 @@
           case rcEndtableWithoutTable:    msg ="[%d]ERR:  %d: %s blockend <%s> does not match blockstart <%s>" ; break ;
           case rcTablerowOutsideOfTable:  msg ="[%d]ERR:  %d: %s <tr> outside of table%s%s" ; break ;
           case rcCmdNotFound:             msg ="[%d]ERR:  %d: %s Unknown Command %s%s" ; break ;
  -        case rcOutOfMemory:             msg ="[%d]ERR:  %d: %s Out of memory%s%s" ; break ;
  +        case rcOutOfMemory:             msg ="[%d]ERR:  %d: %s Out of memory %s %s" ; break ;
           case rcPerlVarError:            msg ="[%d]ERR:  %d: %s Perl variable error %s%s" ; break ;
           case rcHashError:               msg ="[%d]ERR:  %d: %s Perl hash error, %%%s does not exist%s" ; break ;
           case rcArrayError:              msg ="[%d]ERR:  %d: %s Perl array error , @%s does not exist%s" ; break ;
  
  
  
  1.1.2.35  +3 -2      embperl/Attic/epprovider.c
  
  Index: epprovider.c
  ===================================================================
  RCS file: /home/cvs/embperl/Attic/epprovider.c,v
  retrieving revision 1.1.2.34
  retrieving revision 1.1.2.35
  diff -u -r1.1.2.34 -r1.1.2.35
  --- epprovider.c	24 May 2002 05:43:15 -0000	1.1.2.34
  +++ epprovider.c	28 May 2002 06:56:04 -0000	1.1.2.35
  @@ -9,7 +9,7 @@
   #   IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
   #   WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
   #
  -#   $Id: epprovider.c,v 1.1.2.34 2002/05/24 05:43:15 richter Exp $
  +#   $Id: epprovider.c,v 1.1.2.35 2002/05/28 06:56:04 richter Exp $
   #
   ###################################################################################*/
   
  @@ -1296,7 +1296,8 @@
   	    ((tProviderEpCompile *)pProvider) -> pSVData = NULL ;
   	    if (pProg)
   	        SvREFCNT_dec (pProg) ;
  -
  +     
  +            Cache_FreeContent (r, pSrcCache) ; /* make sure we don't leave an invalid dom tree */
   	    return rc ;
   	    }
   
  
  
  
  1.70.4.136 +8 -6      embperl/test.pl
  
  Index: test.pl
  ===================================================================
  RCS file: /home/cvs/embperl/test.pl,v
  retrieving revision 1.70.4.135
  retrieving revision 1.70.4.136
  diff -u -r1.70.4.135 -r1.70.4.136
  --- test.pl	27 May 2002 17:53:13 -0000	1.70.4.135
  +++ test.pl	28 May 2002 06:56:04 -0000	1.70.4.136
  @@ -11,7 +11,7 @@
   #   IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
   #   WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
   #
  -#   $Id: test.pl,v 1.70.4.135 2002/05/27 17:53:13 richter Exp $
  +#   $Id: test.pl,v 1.70.4.136 2002/05/28 06:56:04 richter Exp $
   #
   ###################################################################################
   
  @@ -298,14 +298,16 @@
           },
       'includeerr1.htm' => { 
           'errors'     => '1',
  +        'repeat'     => 2,
           },
       'includeerr2.htm' => { 
           'errors'     => 4,
           'version'    => 1,
           },
       'includeerr2.htm' => { 
  -        'errors'     => 1,
  +        'errors'     => 5,
           'version'    => 2,
  +        'repeat'     => 2,
           },
       'includeerrbt.htm' => { 
           'errors'     => 3,
  @@ -384,17 +386,17 @@
               'version'    => 2,
           },
       'exit.htm' => { 
  -        #'version'    => 1,
  -        'offline'    => 0,
           'cgi'        => 0,
           },
       'exit2.htm' => { 
  -        #'version'    => 1,
  -        'offline'    => 0,
           },
       'exit3.htm' => { 
           'version'    => 1,
           'offline'    => 0,
  +        },
  +    'exitreq.htm' => { 
  +        },
  +    'exitcomp.htm' => { 
           },
       'chdir.htm' => { 
           'query_info' => 'a=1&b=2&c=&d=&f=5&g&h=7&=8&=',
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.2.6.1   +1 -1      embperl/test/cmp/exit.htm
  
  Index: exit.htm
  ===================================================================
  RCS file: /home/cvs/embperl/test/cmp/exit.htm,v
  retrieving revision 1.2
  retrieving revision 1.2.6.1
  diff -u -r1.2 -r1.2.6.1
  --- exit.htm	5 Oct 1999 06:02:06 -0000	1.2
  +++ exit.htm	28 May 2002 06:56:05 -0000	1.2.6.1
  @@ -1,6 +1,6 @@
   <html>
   <head>
  -<title>Tests for Embperl - Apache::Exit</title>
  +<title>Tests for Embperl - component exit</title>
   </head>
   
   
  
  
  
  1.3.6.7   +10 -0     embperl/test/cmp/includeerr2.htm
  
  Index: includeerr2.htm
  ===================================================================
  RCS file: /home/cvs/embperl/test/cmp/includeerr2.htm,v
  retrieving revision 1.3.6.6
  retrieving revision 1.3.6.7
  diff -u -r1.3.6.6 -r1.3.6.7
  --- includeerr2.htm	5 Feb 2002 09:04:05 -0000	1.3.6.6
  +++ includeerr2.htm	28 May 2002 06:56:05 -0000	1.3.6.7
  @@ -12,6 +12,16 @@
   ^-\[.*?\]ERR\:  32\:  Warning in Perl code: Use of uninitialized value
   ^-\[.*?\]ERR\:  24\:  Error in Perl code: Can't locate object method &quot;is&quot; via package &quot;here&quot;
   ^-\[.*?\]ERR\:  32\:  Warning in Perl code: Use of uninitialized value
  +^\[.*?\]ERR\:  32\:  Warning in Perl code\: Unquoted string &quot;table&quot; may clash with future reserved word at 
  +^\[.*?\]ERR\:  32\:  Warning in Perl code\: Unquoted string &quot;td&quot; may clash with future reserved word at 
  +^\[.*?\]ERR\:  32\:  Warning in Perl code\:\s+\(in cleanup\) Transliteration replacement not terminated at
  +^\[.*?\]ERR\:  24\:  Error in Perl code\: syntax error at 
  +^\<br\>&nbsp;&nbsp;&nbsp;&nbsp;\s+\(in cleanup\) Transliteration replacement not terminated at
  +^\[.*?\]ERR\:  32\:  Warning in Perl code\: Unquoted string &quot;table&quot; may clash with future reserved word at
  +^\[.*?\]ERR\:  32\:  Warning in Perl code\: Unquoted string &quot;td&quot; may clash with future reserved word at
  +^\[.*?\]ERR\:  32\:  Warning in Perl code\:\s+\(in cleanup\) Transliteration replacement not terminated at
  +^\[.*?\]ERR\:  24\:  Error in Perl code\: syntax error at
  +^<br>&nbsp;&nbsp;&nbsp;&nbsp;	\(in cleanup\) Transliteration replacement not terminated at
   ^Embperl
   </BODY></HTML>
   
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.1.2.1   +246 -0    embperl/test/cmp/Attic/execviamod.htm
  
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.1.2.2   +4 -4      embperl/test/html/Attic/execviamod.pm
  
  Index: execviamod.pm
  ===================================================================
  RCS file: /home/cvs/embperl/test/html/Attic/execviamod.pm,v
  retrieving revision 1.1.2.1
  retrieving revision 1.1.2.2
  diff -u -r1.1.2.1 -r1.1.2.2
  --- execviamod.pm	27 May 2002 17:53:14 -0000	1.1.2.1
  +++ execviamod.pm	28 May 2002 06:56:05 -0000	1.1.2.2
  @@ -5,11 +5,11 @@
       {
       print OUT "begin execviamod\n" ;
   
  -    Embperl::Execute ('plain.htm') ;
  +    Embperl::Execute ({inputfile => 'plain.htm', input_escmode => 7}) ;
   
       print OUT "middle execviamod\n" ;
       
  -    Embperl::Req::ExecuteComponent ('plain.htm') ;
  +    Embperl::Req::ExecuteComponent ({inputfile => 'plain.htm', input_escmode => 7}) ;
   
       print OUT "end execviamod\n" ;
       }
  @@ -18,9 +18,9 @@
   sub execviamod2
   
       {
  -    Embperl::Execute ('inc.htm') ;
  +    Embperl::Execute ({inputfile => 'inc.htm', input_escmode => 7}) ;
   
  -    Embperl::Req::ExecuteComponent ('inc.htm') ;
  +    Embperl::Req::ExecuteComponent ({inputfile => 'inc.htm', input_escmode => 7}) ;
       }
   
   1 ;
  
  
  
  1.2.6.2   +2 -2      embperl/test/html/exit.htm
  
  Index: exit.htm
  ===================================================================
  RCS file: /home/cvs/embperl/test/html/exit.htm,v
  retrieving revision 1.2.6.1
  retrieving revision 1.2.6.2
  diff -u -r1.2.6.1 -r1.2.6.2
  --- exit.htm	27 Feb 2002 11:58:26 -0000	1.2.6.1
  +++ exit.htm	28 May 2002 06:56:05 -0000	1.2.6.2
  @@ -1,6 +1,6 @@
   <html>
   <head>
  -<title>Tests for Embperl - Apache::Exit</title>
  +<title>Tests for Embperl - component exit</title>
   </head>
   
   
  @@ -8,7 +8,7 @@
   
   Before Exit
   
  -[- Apache::exit -]
  +[- exit  -]
   
   After Exit
   
  
  
  
  1.2.6.1   +8 -0      embperl/test/html/includeerr2.htm
  
  Index: includeerr2.htm
  ===================================================================
  RCS file: /home/cvs/embperl/test/html/includeerr2.htm,v
  retrieving revision 1.2
  retrieving revision 1.2.6.1
  diff -u -r1.2 -r1.2.6.1
  --- includeerr2.htm	5 Oct 1999 06:03:44 -0000	1.2
  +++ includeerr2.htm	28 May 2002 06:56:05 -0000	1.2.6.1
  @@ -9,7 +9,15 @@
   
   [- Execute ( {inputfile => 'incsub.htm', req_rec => $req_rec, param => [undef, 'main']}) -]
   
  +[# cause runtime error #]
   [- Execute ( {inputfile => 'incerr.htm', req_rec => $req_rec, param => ['err', 'main']}) -]
  +
  +[- Execute ( {inputfile => 'incerr.htm', debug => 0x7ffffffe} ) -]
  +
  +[# cause compiletime error #]
  +[- Execute ( {inputfile => 'incerr.htm', debug => 0x7ffffffe, syntax => 'Perl'} ) -]
  +
  +[- Execute ( {inputfile => 'incerr.htm', debug => 0x7ffffffe, syntax => 'Perl'} ) -]
   
   [- Execute ( {inputfile => 'inc.htm', req_rec => $req_rec}) -]
   
  
  
  
  No                   revision
  
  
  No                   revision
  
  
  1.1.2.27  +2 -2      embperl/xsbuilder/maps/Attic/ep_structure.map
  
  Index: ep_structure.map
  ===================================================================
  RCS file: /home/cvs/embperl/xsbuilder/maps/Attic/ep_structure.map,v
  retrieving revision 1.1.2.26
  retrieving revision 1.1.2.27
  diff -u -r1.1.2.26 -r1.1.2.27
  --- ep_structure.map	10 Mar 2002 20:27:19 -0000	1.1.2.26
  +++ ep_structure.map	28 May 2002 06:56:05 -0000	1.1.2.27
  @@ -37,7 +37,7 @@
      sSessionID | session_id
      sSessionStateID | session_state_id
      sSessionUserID  | session_user_id
  -   bExit | exit
  +   bExit | had_exit
      nLogFileStartPos | log_file_start_pos
      bError | error
      pErrArray | errors
  @@ -124,7 +124,7 @@
      bReqRunning | req_running
      bSubReq | sub_req
      nInsideSub | inside_sub
  -   bExit | exit
  +   bExit | had_exit
      nPathNdx | path_ndx
      sCWD | cwd
      bEP1Compat | ep1_compat
  
  
  

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