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/20 13:07:29 UTC

cvs commit: embperl epinit.c epio.c epmain.c

richter     02/05/20 04:07:28

  Modified:    .        Tag: Embperl2c epinit.c epio.c epmain.c
  Log:
  fix more stack problems
  
  Revision  Changes    Path
  No                   revision
  
  
  No                   revision
  
  
  1.1.2.50  +7 -1      embperl/Attic/epinit.c
  
  Index: epinit.c
  ===================================================================
  RCS file: /home/cvs/embperl/Attic/epinit.c,v
  retrieving revision 1.1.2.49
  retrieving revision 1.1.2.50
  diff -u -r1.1.2.49 -r1.1.2.50
  --- epinit.c	20 May 2002 07:04:24 -0000	1.1.2.49
  +++ epinit.c	20 May 2002 11:07:28 -0000	1.1.2.50
  @@ -10,7 +10,7 @@
   #   IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
   #   WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
   #
  -#   $Id: epinit.c,v 1.1.2.49 2002/05/20 07:04:24 richter Exp $
  +#   $Id: epinit.c,v 1.1.2.50 2002/05/20 11:07:28 richter Exp $
   #
   ###################################################################################*/
   
  @@ -1342,6 +1342,7 @@
   	XPUSHs(sv_2mortal(newSVpv(r -> sSessionUserID, 0))); 
   	PUTBACK;                        
   	perl_call_method ("setid", 0) ;
  +        SPAGAIN ;
           }
   
       if (r -> sSessionStateID)
  @@ -1352,6 +1353,7 @@
   	XPUSHs(sv_2mortal(newSVpv(r -> sSessionStateID, 0))); 
   	PUTBACK;                        
   	perl_call_method ("setid", 0) ;
  +        SPAGAIN ;
           }
   
       
  @@ -1368,6 +1370,7 @@
   	PUTBACK;                        
   	perl_call_method ("init", G_EVAL) ;
           tainted = 0 ;
  +        SPAGAIN ;
   
           if (SvTRUE (ERRSV))
   	    {
  @@ -1591,14 +1594,17 @@
           XPUSHs(pApp -> pAppObj); 
           PUTBACK;                        
           perl_call_method ("cleanup", G_DISCARD) ;
  +        SPAGAIN ;
           PUSHMARK(sp);
           XPUSHs(pApp -> pUserObj); 
           PUTBACK;                        
           perl_call_method ("cleanup", G_DISCARD) ;
  +        SPAGAIN ;
           PUSHMARK(sp);
           XPUSHs(pApp -> pStateObj); 
           PUTBACK;                        
           perl_call_method ("cleanup", G_DISCARD) ;
  +        SPAGAIN ;
           }
       
       hv_clear (r -> pThread -> pHeaderHash) ;
  
  
  
  1.16.4.13 +4 -1      embperl/epio.c
  
  Index: epio.c
  ===================================================================
  RCS file: /home/cvs/embperl/epio.c,v
  retrieving revision 1.16.4.12
  retrieving revision 1.16.4.13
  diff -u -r1.16.4.12 -r1.16.4.13
  --- epio.c	7 May 2002 04:14:09 -0000	1.16.4.12
  +++ epio.c	20 May 2002 11:07:28 -0000	1.16.4.13
  @@ -10,7 +10,7 @@
   #   IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
   #   WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
   #
  -#   $Id: epio.c,v 1.16.4.12 2002/05/07 04:14:09 richter Exp $
  +#   $Id: epio.c,v 1.16.4.13 2002/05/20 11:07:28 richter Exp $
   #
   ###################################################################################*/
   
  @@ -413,6 +413,7 @@
   	XPUSHs(r -> Component.ifdobj);
   	PUTBACK;
   	perl_call_method ("CLOSE", G_VOID | G_EVAL) ; 
  +        SPAGAIN ;
   	FREETMPS;
   	LEAVE;
   	r -> Component.ifdobj = NULL ;
  @@ -747,6 +748,7 @@
   	XPUSHs(pOutput -> ofdobj);
   	PUTBACK;
   	perl_call_method ("CLOSE", G_VOID | G_EVAL) ; 
  +        SPAGAIN ;
   	FREETMPS;
   	LEAVE;
   	pOutput -> ofdobj = NULL ;
  @@ -882,6 +884,7 @@
   	XPUSHs(sv_2mortal(newSVpv((char *)ptr,size)));
   	PUTBACK;
   	perl_call_method ("PRINT", G_SCALAR) ; 
  +        SPAGAIN ;
   	FREETMPS;
   	LEAVE;
   	return size ;
  
  
  
  1.75.4.116 +10 -7     embperl/epmain.c
  
  Index: epmain.c
  ===================================================================
  RCS file: /home/cvs/embperl/epmain.c,v
  retrieving revision 1.75.4.115
  retrieving revision 1.75.4.116
  diff -u -r1.75.4.115 -r1.75.4.116
  --- epmain.c	14 May 2002 12:24:33 -0000	1.75.4.115
  +++ epmain.c	20 May 2002 11:07:28 -0000	1.75.4.116
  @@ -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.115 2002/05/14 12:24:33 richter Exp $
  +#   $Id: epmain.c,v 1.75.4.116 2002/05/20 11:07:28 richter Exp $
   #
   ###################################################################################*/
   
  @@ -751,6 +751,7 @@
               XPUSHs(r -> _perlsv) ;   
               PUTBACK;
               perl_call_method ("mail_errors", G_DISCARD) ; 
  +            SPAGAIN ;
               }
           }
       
  @@ -774,6 +775,7 @@
   	XPUSHs(r -> _perlsv) ;     
   	PUTBACK;
   	perl_call_method ("send_error_page", G_DISCARD) ; 
  +        SPAGAIN ;
   #ifdef APACHE
   	if (r -> pApacheReq)
   	    r -> pApacheReq -> status = 500 ;
  @@ -1142,7 +1144,8 @@
           STRLEN l ;
           strncpy (r -> errdat1, SvPV (ERRSV, l), sizeof (r -> errdat1) - 1) ;
   	LogError (r, rcEvalErr) ; 
  -	sv_setpv(ERRSV,"");
  +        POPs ;
  +        sv_setpv(ERRSV,"");
           }
       tainted = 0 ;
   
  @@ -1184,6 +1187,11 @@
   	XPUSHs(pRecipe);                
   	PUTBACK;                        
   	num = perl_call_method ("get_recipe", G_SCALAR | G_EVAL) ;
  +	tainted = 0 ;
  +	SPAGAIN;                        
  +	if (num == 1)
  +	    pParamRV = POPs ;
  +	PUTBACK;
           if (SvTRUE (ERRSV))
   	    {
               STRLEN l ;
  @@ -1192,11 +1200,6 @@
   	    sv_setpv(ERRSV,"");
               num = 0 ;
               }
  -	tainted = 0 ;
  -	SPAGAIN;                        
  -	if (num == 1)
  -	    pParamRV = POPs ;
  -	PUTBACK;
   	if (num != 1 || !SvROK (pParamRV) || !(pParam = SvRV(pParamRV)) || 
               (SvTYPE((SV *)pParam) != SVt_PVHV && SvTYPE(pParam) != SVt_PVAV))
   	    {
  
  
  

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