dougm       01/09/28 12:53:22

  Modified:    src/modules/perl modperl_perl_global.c modperl_perl_global.h
  Log:
  use the address of sv for modperl_perl_global_svpv_t, since it might point to a 
different SV when restore happens
  
  Revision  Changes    Path
  1.3       +4 -4      modperl-2.0/src/modules/perl/modperl_perl_global.c
  
  Index: modperl_perl_global.c
  ===================================================================
  RCS file: /home/cvs/modperl-2.0/src/modules/perl/modperl_perl_global.c,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- modperl_perl_global.c     2001/09/28 19:24:44     1.2
  +++ modperl_perl_global.c     2001/09/28 19:53:22     1.3
  @@ -5,7 +5,7 @@
       globals->env.gv    = PL_envgv;
       globals->inc.gv    = PL_incgv;
       globals->defout.gv = PL_defoutgv;
  -    globals->rs.sv     = PL_rs;
  +    globals->rs.sv     = &PL_rs;
   }
   
   static void
  @@ -92,14 +92,14 @@
   static void
   modperl_perl_global_svpv_save(pTHX_ modperl_perl_global_svpv_t *svpv)
   {
  -    svpv->cur = SvCUR(svpv->sv);
  -    strncpy(svpv->pv, SvPVX(svpv->sv), sizeof(svpv->pv));
  +    svpv->cur = SvCUR(*svpv->sv);
  +    strncpy(svpv->pv, SvPVX(*svpv->sv), sizeof(svpv->pv));
   }
   
   static void
   modperl_perl_global_svpv_restore(pTHX_ modperl_perl_global_svpv_t *svpv)
   {
  -    sv_setpvn(svpv->sv, svpv->pv, svpv->cur);
  +    sv_setpvn(*svpv->sv, svpv->pv, svpv->cur);
   }
   
   typedef enum {
  
  
  
  1.3       +1 -1      modperl-2.0/src/modules/perl/modperl_perl_global.h
  
  Index: modperl_perl_global.h
  ===================================================================
  RCS file: /home/cvs/modperl-2.0/src/modules/perl/modperl_perl_global.h,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- modperl_perl_global.h     2001/09/28 19:24:44     1.2
  +++ modperl_perl_global.h     2001/09/28 19:53:22     1.3
  @@ -19,7 +19,7 @@
   } modperl_perl_global_gvio_t;
   
   typedef struct {
  -    SV *sv;
  +    SV **sv;
       char pv[256]; /* XXX: only need enough for $/ at the moment */
       I32 cur;
   } modperl_perl_global_svpv_t;
  
  
  


Reply via email to