From: Hans Dieter Pearcey Date: Sun, 26 Apr 2009 23:17:07 +0000 (+0000) Subject: RT#18075 X-Git-Tag: v1.0~15 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=catagits%2FHTTP-Request-AsCGI.git;a=commitdiff_plain;h=b2c02cd0631cd096ae9d40f5c58fa27b38dd3013 RT#18075 --- diff --git a/Changes b/Changes index 54a1bc4..f4ba426 100644 --- a/Changes +++ b/Changes @@ -1,5 +1,8 @@ This file documents the revision history for Perl extension HTTP::Request::AsCGI. +0.5_03 2009-04-29 + - RT#18075: Play more nicely with Perl 5.6's open(). (hdp) + 0.5_02 2009-04-29 - Avoid mixing buffered and unbuffered IO and flush STDIN after writing request content to it. (hdp) diff --git a/README b/README index 5a7322c..a80e0b6 100644 --- a/README +++ b/README @@ -2,7 +2,7 @@ NAME HTTP::Request::AsCGI - Setup a CGI enviroment from a HTTP::Request VERSION - 0.5_02 + 0.5_03 SYNOPSIS use CGI; diff --git a/lib/HTTP/Request/AsCGI.pm b/lib/HTTP/Request/AsCGI.pm index f351e34..77d035f 100644 --- a/lib/HTTP/Request/AsCGI.pm +++ b/lib/HTTP/Request/AsCGI.pm @@ -12,7 +12,7 @@ use IO::File; __PACKAGE__->mk_accessors(qw[ enviroment request stdin stdout stderr ]); -our $VERSION = 0.5_02; +our $VERSION = 0.5_03; sub new { my $class = shift; @@ -95,20 +95,20 @@ sub setup { or croak("Can't flush stdin handle: $!"); } - open( $self->{restore}->{stdin}, '<&', STDIN->fileno ) + open( $self->{restore}->{stdin}, '<&'. STDIN->fileno ) or croak("Can't dup stdin: $!"); - open( STDIN, '<&=', $self->stdin->fileno ) + open( STDIN, '<&='. $self->stdin->fileno ) or croak("Can't open stdin: $!"); binmode( STDIN ); if ( $self->stdout ) { - open( $self->{restore}->{stdout}, '>&', STDOUT->fileno ) + open( $self->{restore}->{stdout}, '>&'. STDOUT->fileno ) or croak("Can't dup stdout: $!"); - open( STDOUT, '>&=', $self->stdout->fileno ) + open( STDOUT, '>&='. $self->stdout->fileno ) or croak("Can't open stdout: $!"); binmode( $self->stdout ); @@ -117,10 +117,10 @@ sub setup { if ( $self->stderr ) { - open( $self->{restore}->{stderr}, '>&', STDERR->fileno ) + open( $self->{restore}->{stderr}, '>&'. STDERR->fileno ) or croak("Can't dup stderr: $!"); - open( STDERR, '>&=', $self->stderr->fileno ) + open( STDERR, '>&='. $self->stderr->fileno ) or croak("Can't open stderr: $!"); binmode( $self->stderr ); @@ -230,7 +230,7 @@ sub restore { %ENV = %{ $self->{restore}->{enviroment} }; } - open( STDIN, '<&', $self->{restore}->{stdin} ) + open( STDIN, '<&'. fileno($self->{restore}->{stdin}) ) or croak("Can't restore stdin: $!"); sysseek( $self->stdin, 0, SEEK_SET ) @@ -241,7 +241,7 @@ sub restore { STDOUT->flush or croak("Can't flush stdout: $!"); - open( STDOUT, '>&', $self->{restore}->{stdout} ) + open( STDOUT, '>&'. fileno($self->{restore}->{stdout}) ) or croak("Can't restore stdout: $!"); sysseek( $self->stdout, 0, SEEK_SET ) @@ -253,7 +253,7 @@ sub restore { STDERR->flush or croak("Can't flush stderr: $!"); - open( STDERR, '>&', $self->{restore}->{stderr} ) + open( STDERR, '>&'. fileno($self->{restore}->{stderr}) ) or croak("Can't restore stderr: $!"); sysseek( $self->stderr, 0, SEEK_SET )