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