stas        2003/08/27 18:56:03

  Modified:    xs/APR/PerlIO apr_perlio.c
  Log:
  can't use modperl_perl_gensym outside modperl, temp copy the function
  
  Revision  Changes    Path
  1.30      +12 -3     modperl-2.0/xs/APR/PerlIO/apr_perlio.c
  
  Index: apr_perlio.c
  ===================================================================
  RCS file: /home/cvs/modperl-2.0/xs/APR/PerlIO/apr_perlio.c,v
  retrieving revision 1.29
  retrieving revision 1.30
  diff -u -u -r1.29 -r1.30
  --- apr_perlio.c      20 Aug 2003 23:53:16 -0000      1.29
  +++ apr_perlio.c      28 Aug 2003 01:56:03 -0000      1.30
  @@ -3,6 +3,16 @@
   #include "mod_perl.h"
   #include "apr_perlio.h"
   
  +/* XXX: modperl_perl_gensym() cannot be used outside of httpd */
  +static SV *apr_perlio_gensym(pTHX_ char *pack)
  +{
  +    GV *gv = newGVgen(pack);
  +    SV *rv = newRV((SV*)gv);
  +    (void)hv_delete(gv_stashpv(pack, TRUE), 
  +                    GvNAME(gv), GvNAMELEN(gv), G_DISCARD);
  +    return rv;
  +}
  +
   #if defined(PERLIO_LAYERS) && defined(PERLIO_K_MULTIARG) /* 5.7.2+ */
   
   /**********************************************************************
  @@ -483,8 +493,7 @@
   
   static SV *apr_perlio_PerlIO_to_glob(pTHX_ PerlIO *pio, apr_perlio_hook_e type)
   {
  -    /* XXX: modperl_perl_gensym() cannot be used outside of httpd */
  -    SV *retval = modperl_perl_gensym(aTHX_ "APR::PerlIO"); 
  +    SV *retval = apr_perlio_gensym(aTHX_ "APR::PerlIO"); 
       GV *gv = (GV*)SvRV(retval); 
   
       gv_IOadd(gv); 
  @@ -573,7 +582,7 @@
                                   apr_perlio_hook_e type)
   {
       /* XXX: modperl_perl_gensym() cannot be used outside of httpd */
  -    SV *retval = modperl_perl_gensym(aTHX_ "APR::PerlIO"); 
  +    SV *retval = apr_perlio_gensym(aTHX_ "APR::PerlIO"); 
       GV *gv = (GV*)SvRV(retval); 
   
       gv_IOadd(gv); 
  
  
  

Reply via email to