#ifndef lint
static const char rcsid[] =
- "$Id: tape.c,v 1.46 2001/08/16 15:24:22 stelian Exp $";
+ "$Id: tape.c,v 1.48 2001/11/16 14:09:07 stelian Exp $";
#endif /* not lint */
#include <config.h>
/* read the block prefix */
ret = read_a_block(mt, tapebuf, PREFIXSIZE, &rl);
+
+ if (Vflag && (ret == 0 || rl < PREFIXSIZE || tpb->length == 0))
+ ret = 0;
if (ret <= 0)
goto readerr;
/* need to know if input is really from a tape */
#ifdef RRESTORE
if (host)
- magtapein = rmtioctl(MTNOP, 1) != -1;
+ magtapein = !lflag;
else
#endif
magtapein = ioctl(mt, MTIOCGET, (char *)&mt_stat) == 0;
}
- Vprintf(stdout,"Input is from %s\n", magtapein? "tape": "file/pipe");
+ Vprintf(stdout,"Input is from %s\n",
+ magtapein ? "tape" :
+ Vflag ? "multi-volume (no tape)" : "file/pipe");
}
/*