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