Subject: | Patch to report errors opening PNG image files |
PNG.pm does not die when an open() fails, resulting in mysterious
undefined value errors. The attached patch adds an "or die()" to the
open() and removes a possibly duplicate open.
Also, here is a series of other similar lines of code that don't happen
to be biting me (yet):
c:\perl\site\lib\PDF\API2\Resource\ColorSpace\Indexed\ACTFile.pm:
open($fh,$file);
c:\perl\site\lib\PDF\API2\Resource\Font\Postscript.pm :
open(INF,$file);
c:\perl\site\lib\PDF\API2\Resource\Font\Postscript.pm :
open($fh,$file) || return undef;
c:\perl\site\lib\PDF\API2\Resource\XObject\Image\GIF.pm :
open($fh,$file);
c:\perl\site\lib\PDF\API2\Resource\XObject\Image\JPEG.pm :
open($fh,$file);
c:\perl\site\lib\PDF\API2\Resource\XObject\Image\PNM.pm :
open(INF,$file);
c:\perl\site\lib\PDF\API2\Resource\XObject\Image\TIFF.pm :
open($self->{fh},"< $file");
c:\perl\site\lib\PDF\API2\Util.pm :
open($fh,"$dir/PDF/API2/Resource/unipaper.txt");
c:\perl\site\lib\PDF\API2\Util.pm :
open($fh,"$dir/PDF/API2/Resource/uniglyph.txt");
c:\perl\site\lib\PDF\API2\Util.pm :
open($fh,"$dir/PDF/API2/Resource/unicolor.txt");
Subject: | png.diff |
--- c:\Perl\site\lib\PDF\API2\Resource\XObject\Image\PNG.pm Mon Mar 10 16:22:54 2008
+++ PNG.pm Mon Mar 10 16:23:10 2008
@@ -65,11 +65,9 @@
$self->{' apipdf'}=$pdf;
my $fh = IO::File->new;
- open($fh,$file);
- binmode($fh,':raw');
my ($buf,$l,$crc,$w,$h,$bpc,$cs,$cm,$fm,$im,$palete,$trns);
- open($fh,$file);
+ open($fh,$file) or die "$!: $file\n";
binmode($fh);
seek($fh,8,0);
$self->{' stream'}='';