-#!/bin/perl
+#!/usr/bin/perl
#============================================================= -*-perl-*-
#
# BackupPC_zcat: uncompress files to stdout
# Craig Barratt <cbarratt@users.sourceforge.net>
#
# COPYRIGHT
-# Copyright (C) 2001-2003 Craig Barratt
+# Copyright (C) 2001-2009 Craig Barratt
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
#
#========================================================================
#
-# Version 2.1.0beta0, released 20 Mar 2004.
+# Version 3.2.0, released 31 Jul 2010.
#
# See http://backuppc.sourceforge.net.
#
sub zcat
{
my($fh, $fileName) = @_;
- my($data, $r);
+ my($data, $r, $ret);
while ( ($r = $fh->read(\$data, 65536)) > 0 ) {
print($data);
}
if ( $r < 0 ) {
print(STDERR "$0: can't uncompress $fileName\n");
+ $ret = 1;
}
$fh->close();
+ return $ret;
}
+my $ret = 0;
if ( @ARGV ) {
while ( @ARGV ) {
if ( defined(my $fh = BackupPC::FileZIO->open($ARGV[0], 0, 1)) ) {
- zcat($fh, $ARGV[0]);
+ $ret ||= zcat($fh, $ARGV[0]);
} else {
print(STDERR "$0: can't open $ARGV[0]\n");
- exit(1);
+ $ret = 1;
+ last;
}
shift @ARGV;
}
} else {
my $fh = BackupPC::FileZIO->open(*STDIN, 0, 1);
- zcat($fh, "stdin");
+ $ret ||= zcat($fh, "stdin");
}
+exit($ret);