dougm       02/03/23 18:17:10

  Modified:    .        STATUS
               src/modules/perl perlio.c
  Log:
  fix tiehandle fix so it will compile with Perls < 5.6.0
  and fold some duplication in the original patch
  
  Revision  Changes    Path
  1.4       +1 -5      modperl/STATUS
  
  Index: STATUS
  ===================================================================
  RCS file: /home/cvs/modperl/STATUS,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- STATUS    24 Mar 2002 02:07:58 -0000      1.3
  +++ STATUS    24 Mar 2002 02:17:09 -0000      1.4
  @@ -1,5 +1,5 @@
   mod_perl 1.3 STATUS:
  -   Last modified at [$Date: 2002/03/24 02:07:58 $]
  +   Last modified at [$Date: 2002/03/24 02:17:09 $]
   
   
   Release:
  @@ -120,10 +120,6 @@
       * Apache->server->register_cleanup
           Report: ?
        Status:
  -
  -    * bleedperl TIEHANDLE issues?
  -        Report: 
http://marc.theaimsgroup.com/?l=apache-modperl-dev&m=99909095916498&w=2
  -        Status:
   
       * Apache->request(bless {r => $r}, 'My::Apache')
           Report: 
http://marc.theaimsgroup.com/?l=apache-modperl-dev&m=98600785703290&w=2
  
  
  
  1.9       +10 -13    modperl/src/modules/perl/perlio.c
  
  Index: perlio.c
  ===================================================================
  RCS file: /home/cvs/modperl/src/modules/perl/perlio.c,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- perlio.c  19 Mar 2002 02:18:02 -0000      1.8
  +++ perlio.c  24 Mar 2002 02:17:10 -0000      1.9
  @@ -51,25 +51,22 @@
   
   #define dHANDLE(name) GV *handle = gv_fetchpv(name, TRUE, SVt_PVIO)
   
  -#if (PERL_REVISION == 5 && PERL_VERSION < 7)
  +#ifdef PERL_REVISION
  +#   if ((PERL_REVISION == 5) && (PERL_VERSION >= 7))
  +#      define TIEHANDLE_SV(handle) (SV*)GvIOp((SV*)handle)
  +#   endif
  +#endif
   
  -#define TIEHANDLE(name,obj) \
  -{ \
  -      dHANDLE(name); \
  -      sv_unmagic((SV*)handle, 'q'); \
  -      sv_magic((SV*)handle, obj, 'q', Nullch, 0); \
  -}
  -
  -#else
  +#ifndef TIEHANDLE_SV
  +#   define TIEHANDLE_SV(handle) (SV*)handle
  +#endif
   
   #define TIEHANDLE(name,obj) \
   { \
         dHANDLE(name); \
  -      sv_unmagic((SV*)GvIOp((SV*)handle), 'q'); \
  -      sv_magic((SV*)GvIOp((SV*)handle), obj, 'q', Nullch, 0); \
  +      sv_unmagic(TIEHANDLE_SV(handle), 'q'); \
  +      sv_magic(TIEHANDLE_SV(handle), obj, 'q', Nullch, 0); \
   }
  -
  -#endif 
   
   #if 0
   #define TIED tied_handle
  
  
  


Reply via email to