pipe(FINDOR,FINDOW) or die $!;
pipe(DUMPOR,DUMPOW) or die $!;
pipe(TEEOR,TEEOW) or die $!;
pipe(FINDOR,FINDOW) or die $!;
pipe(DUMPOR,DUMPOW) or die $!;
pipe(TEEOR,TEEOW) or die $!;
+ $bufir='TEEOR';
+
+ if ($dopt{'gz'} eq 'y') {
+ $gz= '3';
+ } elsif ($dopt{'gz'} =~ m/^\d$/) {
+ $gz= $dopt{'gz'};
+ } elsif (defined $dopt{'gz'}) {
+ die "$tf bad gz";
+ } else {
+ $gz= 0;
+ }
+ if ($gz) {
+ $bufir='GZOR';
+ pipe(GZOR,GZOW) or die $!;
+ }
+
startprocess '<p','>>this-md5sums','md5sum';
startprocess $dumpin,'>&DUMPOW',$rstr.$dumpcmd;
startprocess '<&DUMPOR','>&TEEOW','tee p';
startprocess '<p','>>this-md5sums','md5sum';
startprocess $dumpin,'>&DUMPOW',$rstr.$dumpcmd;
startprocess '<&DUMPOR','>&TEEOW','tee p';
- startprocess '<&TEEOR','>&BUFOW','writebuffer';
+ if ($gz) {
+ startprocess '<&TEEOR','>&GZOW','gzip -v$gz';
+ }
+ startprocess '<&$bufir','>&BUFOW','writebuffer';
startprocess '<&BUFOR','>/dev/null'
,"dd ibs=$softblocksizebytes obs=$blocksizebytes of=$ntape";
closepipes();
startprocess '<&BUFOR','>/dev/null'
,"dd ibs=$softblocksizebytes obs=$blocksizebytes of=$ntape";
closepipes();