--- Image-Info-1.38/lib/Image/Info/JPEG.pm- 2010-09-25 19:39:22.000000000 +0400 +++ Image-Info-1.38/lib/Image/Info/JPEG.pm 2011-11-15 05:01:17.139062282 +0400 @@ -59,26 +59,11 @@ sub my_read $buf; } -BEGIN { - my $f = ($] >= 5.008) ? <<'EOT' : <<'EOT'; sub with_io_string (&$) { open(my $fh, "<", \$_[1]); local $_ = $fh; &{$_[0]}; } -EOT - sub with_io_string (&$) { - require IO::String; - local $_ = IO::String->new($_[1]); - &{$_[0]}; - $_->close; - } -EOT - - #print $f; - eval $f; - die $@ if $@; -} sub process_file { --- Image-Info-1.38/dev/Info.pm.tmpl- 2010-09-25 19:31:35.000000000 +0400 +++ Image-Info-1.38/dev/Info.pm.tmpl 2011-11-15 05:01:17.139062282 +0400 @@ -116,14 +116,8 @@ # Earlier PerlIO::scalar versions may segfault or consume lots # of memory for some invalid images, see # RT #100847 and img/segfault.tif - if (eval { require PerlIO::scalar; PerlIO::scalar->VERSION(0.21) } || - !eval { require IO::Scalar; 1 }) { open(my $s, "<", $source) or return _os_err("Can't open string"); $source = $s; - } - else { - $source = IO::Scalar->new($source); - } } else { seek($source, 0, 0) or return _os_err("Can't rewind"); @@ -145,13 +139,7 @@ return _os_err("Couldn't read any bytes") if !$read; - if (ref($source) eq "IO::String") { - # XXX workaround until we can trap seek() with a tied file handle - $source->setpos(0); - } - else { seek($source, 0, 0) or return _os_err("Can't rewind"); - } $head; } --- Image-Info-1.38/lib/Image/Info.pm- 2010-09-25 19:39:46.000000000 +0400 +++ Image-Info-1.38/lib/Image/Info.pm 2011-11-15 05:01:17.139062282 +0400 @@ -116,14 +116,8 @@ # Earlier PerlIO::scalar versions may segfault or consume lots # of memory for some invalid images, see # RT #100847 and img/segfault.tif - if (eval { require PerlIO::scalar; PerlIO::scalar->VERSION(0.21) } || - !eval { require IO::Scalar; 1 }) { open(my $s, "<", $source) or return _os_err("Can't open string"); $source = $s; - } - else { - $source = IO::Scalar->new($source); - } } else { seek($source, 0, 0) or return _os_err("Can't rewind"); @@ -145,13 +139,7 @@ return _os_err("Couldn't read any bytes") if !$read; - if (ref($source) eq "IO::String") { - # XXX workaround until we can trap seek() with a tied file handle - $source->setpos(0); - } - else { seek($source, 0, 0) or return _os_err("Can't rewind"); - } $head; }