From: skimo Date: Thu, 5 Sep 2002 16:14:04 +0000 (+0000) Subject: perl 5.8.0 compatibility fix by Autrijus X-Git-Tag: 0.67_01~35 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=6d7e3fb2965632b12f88871f9e24dc56eb537212;p=catagits%2Ffcgi2.git perl 5.8.0 compatibility fix by Autrijus --- diff --git a/perl/FCGI.XL b/perl/FCGI.XL index 2586164..d017a4e 100644 --- a/perl/FCGI.XL +++ b/perl/FCGI.XL @@ -12,7 +12,7 @@ unless ($] >= 5.005) { print OUT while ; close OUT; __END__ -/* $Id: FCGI.XL,v 1.7 2001/10/11 19:36:04 skimo Exp $ */ +/* $Id: FCGI.XL,v 1.8 2002/09/05 16:14:04 skimo Exp $ */ #include "EXTERN.h" #include "perl.h" @@ -158,9 +158,25 @@ FCGI_Bind(FCGP_Request* request) sfdisc(IoOFP(request->io[1]), sfdcnewfcgi(request->requestPtr->out)); sfdisc(IoOFP(request->io[2]), sfdcnewfcgi(request->requestPtr->err)); #else +# ifdef USE_PERLIO + /* For tied filehandles, we apply tiedscalar magic to the IO + slot of the GP rather than the GV itself. */ + + if (!GvIOp(request->gv[1])) + GvIOp(request->gv[1]) = newIO(); + if (!GvIOp(request->gv[2])) + GvIOp(request->gv[2]) = newIO(); + if (!GvIOp(request->gv[0])) + GvIOp(request->gv[0]) = newIO(); + + sv_magic((SV *)GvIOp(request->gv[1]), request->svout, 'q', Nullch, 0); + sv_magic((SV *)GvIOp(request->gv[2]), request->sverr, 'q', Nullch, 0); + sv_magic((SV *)GvIOp(request->gv[0]), request->svin, 'q', Nullch, 0); +# else sv_magic((SV *)request->gv[1], request->svout, 'q', Nullch, 0); sv_magic((SV *)request->gv[2], request->sverr, 'q', Nullch, 0); sv_magic((SV *)request->gv[0], request->svin, 'q', Nullch, 0); +# endif #endif request->bound = TRUE; }