#ifndef lint
static const char rcsid[] =
- "$Id: main.c,v 1.50 2001/07/18 09:12:05 stelian Exp $";
+ "$Id: main.c,v 1.51 2001/07/18 09:50:48 stelian Exp $";
#endif /* not lint */
#include <config.h>
tapeprefix = "standard output";
}
- if (blocksperfile)
+ if (blocksperfile && !compressed)
blocksperfile = blocksperfile / ntrec * ntrec; /* round down */
else if (!unlimited) {
/*
strncpy(tape, tapeprefix, MAXPATHLEN);
tape[MAXPATHLEN - 1] = '\0';
+ if (!pipeout) {
+ if (STAT(tape, &statbuf) != -1)
+ fifoout= statbuf.st_mode & S_IFIFO;
+ }
+
if (!sizest) {
msg("Date of this level %c dump: %s", level,
tnow = trewind();
- if (pipeout)
+ if (pipeout || fifoout)
msg("%ld tape blocks (%.2fMB)\n", spcl.c_tapea,
((double)spcl.c_tapea * TP_BSIZE / 1048576));
else
case SIGHUP:
case SIGTERM:
case SIGTRAP:
- if (pipeout)
+ if (pipeout || fifoout)
quit("Signal on pipe: cannot recover\n");
msg("Rewriting attempted as response to unknown signal: %d.\n", signo);
(void)fflush(stderr);