- Handle short reads when the -P option is used. Short reads must be
handled when reading from pipes. - Remove dead code related to the -P option from getvol(). pipein and pipecmdin are never set at the same time. PR: bin/121502 Approved by: trasz (mentor) MFC after: 2 weeks
This commit is contained in:
parent
ed72d9a70b
commit
9312d906aa
@ -333,10 +333,6 @@ getvol(long nextvol)
|
||||
}
|
||||
if (volno == 1)
|
||||
return;
|
||||
if (pipecmdin) {
|
||||
closemt();
|
||||
goto getpipecmdhdr;
|
||||
}
|
||||
goto gethdr;
|
||||
}
|
||||
again:
|
||||
@ -400,7 +396,6 @@ again:
|
||||
if (pipecmdin) {
|
||||
char volno[sizeof("2147483647")];
|
||||
|
||||
getpipecmdhdr:
|
||||
(void)sprintf(volno, "%ld", newvol);
|
||||
if (setenv("RESTORE_VOLUME", volno, 1) == -1) {
|
||||
fprintf(stderr, "Cannot set $RESTORE_VOLUME: %s\n",
|
||||
@ -1205,17 +1200,17 @@ getmore:
|
||||
* Check for mid-tape short read error.
|
||||
* If found, skip rest of buffer and start with the next.
|
||||
*/
|
||||
if (!pipein && numtrec < ntrec && i > 0) {
|
||||
if (!pipein && !pipecmdin && numtrec < ntrec && i > 0) {
|
||||
dprintf(stdout, "mid-media short read error.\n");
|
||||
numtrec = ntrec;
|
||||
}
|
||||
/*
|
||||
* Handle partial block read.
|
||||
*/
|
||||
if (pipein && i == 0 && rd > 0)
|
||||
if ((pipein || pipecmdin) && i == 0 && rd > 0)
|
||||
i = rd;
|
||||
else if (i > 0 && i != ntrec * TP_BSIZE) {
|
||||
if (pipein) {
|
||||
if (pipein || pipecmdin) {
|
||||
rd += i;
|
||||
cnt -= i;
|
||||
if (cnt > 0)
|
||||
|
Loading…
x
Reference in New Issue
Block a user