--- a/bin/imager.save Mon Jun 18 16:55:10 2012 +0200
+++ b/bin/imager.save Mon Aug 27 15:51:22 2012 +0200
@@ -16,18 +16,17 @@
use Pod::Usage;
use Imager 0.1;
-use constant KiB => 1024;
-use constant MiB => 1024 * KiB;
-use constant GiB => 1024 * MiB;
-use constant BS => 4 * MiB;
-use constant DATEFMT => "%Y-%m-%dT%H:%M:%SZ";
-use constant CIPHER => "aes-128-cbc";
+use constant KiB => 1024;
+use constant MiB => 1024 * KiB;
+use constant GiB => 1024 * MiB;
+use constant BS => 4 * MiB;
+use constant DATEFMT => "%Y-%m-%dT%H:%M:%SZ";
+use constant CIPHER => "aes-128-cbc";
sub get_devsize;
sub get_devname;
sub save;
-
$SIG{INT} = sub { die "Got INT\n" };
my %o = (
@@ -53,7 +52,7 @@
"c|comment=s" => \$o{comment},
"z|compress:i" => sub { $o{compress} = $_[1] ? $_[1] : Z_BEST_SPEED },
"p|pass=s" => \$o{pass},
- "now=i" => \$o{now},
+ "now=i" => \$o{now},
"b|blocksize=s" => sub {
given ($_[1]) {
when (/(\d+)G/i) { $o{blocksize} = $1 * GiB };
@@ -83,7 +82,7 @@
my $rc = 0;
while (wait != -1) {
- $rc = ($? >> 8) if ($? >> 8) > $rc;
+ $rc = ($? >> 8) if ($? >> 8) > $rc;
}
exit $rc;
@@ -178,29 +177,28 @@
}
binmode($out);
-
- my $bufref = \$buffer;
- if ($o{compress}) {
- my $zbuffer;
- gzip(
- \$buffer => \$zbuffer,
- -Minimal => 1,
- -Level => Z_BEST_SPEED,
- -Strategy => Z_FILTERED
- ) or die $GzipError;
- if (length($zbuffer) / length($buffer) < 0.9) {
- $bufref = \$zbuffer;
- $ext = ".gz$ext";
- }
+ my $bufref = \$buffer;
+ if ($o{compress}) {
+ my $zbuffer;
+ gzip(
+ \$buffer => \$zbuffer,
+ -Minimal => 1,
+ -Level => Z_BEST_SPEED,
+ -Strategy => Z_FILTERED
+ ) or die $GzipError;
+ if (length($zbuffer) / length($buffer) < 0.9) {
+ $bufref = \$zbuffer;
+ $ext = ".gz$ext";
}
+ }
- #for(my $todo = length $$bufref;
- # $todo -= syswrite $out => $$bufref, $todo, -$todo; 1)
- #{
- #}
- syswrite $out => $$bufref;
-
- close($out) or die $!;
+ #for(my $todo = length $$bufref;
+ # $todo -= syswrite $out => $$bufref, $todo, -$todo; 1)
+ #{
+ #}
+ syswrite $out => $$bufref or die "$0: write: $!\n";
+ close($out) or die "$0: close output file: $!";
+
rename($out => "$data/$file$ext");
$index{BLOCKS}[$blknr] .= " *";
$stats{written}++;