Description: exit with status code 0 on failure
Origin: vendor
Forwarded: no
Author: Christoph Berg <myon@debian.org>
Reviewed-by: Jonathan Yu <jawnsy@cpan.org>
Reviewed-by: gregor herrmann <gregoa@debian.org>
Last-Update: 2012-06-08

--- a/imgsize
+++ b/imgsize
@@ -46,11 +46,13 @@
 $opts{f} &&
     ($rtn = \&return_fmt);
 
+my $error = 0;
+
 if (@ARGV > 1)
 {
     foreach (@ARGV)
     {
-        printf "$_: %s\n", $rtn->($_);
+        print STDOUT sprintf("%s: %s\n", $_, $rtn->($_));
     }
 }
 else
@@ -58,7 +60,7 @@
     printf "%s\n", $rtn->($ARGV[0]);
 }
 
-exit 0;
+exit $error;
 
 sub return_html
 {
@@ -67,7 +69,7 @@
     my ($width, $height, $err) = imgsize($file);
 
     return (defined $width) ?
-        qq(width="$width" height="$height") : "error: $err";
+        qq(width="$width" height="$height") : ("error: $err", $error = 1);
 }
 
 sub return_attr
@@ -77,7 +79,7 @@
     my ($width, $height, $err) = imgsize($file);
 
     return (defined $width) ?
-        "(-width => $width, -height => $height)" : "error: $err";
+        "(-width => $width, -height => $height)" : ("error: $err", $error = 1);
 }
 
 sub return_imgsize
@@ -86,7 +88,7 @@
 
     my ($width, $height, $err) = imgsize($file);
 
-    return (defined $width) ? "$width $height" : "error: $err";
+    return (defined $width) ? "$width $height" : ("error: $err", $error = 1);
 }
 
 sub return_fmt
@@ -96,7 +98,7 @@
     my ($width, $height, $err) = imgsize($file);
 
     return (defined $width) ?
-        sprintf($opts{f}, $width, $height, $err) : "error: $err";
+        sprintf($opts{f}, $width, $height, $err) : ("error: $err", $error = 1);
 }
 
 __END__
