#ifndef lint
static const char rcsid[] =
- "$Id: tape.c,v 1.60 2002/04/04 08:20:23 stelian Exp $";
+ "$Id: tape.c,v 1.62 2002/05/21 15:48:46 stelian Exp $";
#endif /* not lint */
#include <config.h>
#ifdef RRESTORE
if (host)
- mt = rmtopen(temptape, 0);
+ mt = rmtopen(temptape, "O_RDONLY");
else
#endif
if (pipein)
if (nextvol == 1) {
tapesread = 0;
gettingfile = 0;
+ tpblksread = 0;
+ blksread = 0;
}
if (pipein) {
if (nextvol != 1)
}
#ifdef RRESTORE
if (host)
- mt = rmtopen(magtape, 0);
+ mt = rmtopen(magtape, "O_RDONLY");
else
#endif
mt = OPEN(magtape, O_RDONLY, 0);
goto again;
}
tapesread |= 1 << volno;
- blksread = saved_blksread;
- tpblksread = saved_tpblksread;
/*
* If continuing from the previous volume, skip over any
* blocks read already at the end of the previous volume.
#endif /* !HAVE_ZLIB && !HAVE_BZLIB */
}
Dprintf(stdout, "read %ld recs, tape starts with %ld\n",
- tpblksread, (long)tmpbuf.c_firstrec);
+ tpblksread - 1, (long)tmpbuf.c_firstrec);
if (tmpbuf.c_type == TS_TAPE && (tmpbuf.c_flags & DR_NEWHEADER)) {
if (!wantnext) {
- tpblksread = tmpbuf.c_firstrec;
+ tpblksread = tmpbuf.c_firstrec + 1;
for (i = tmpbuf.c_count; i > 0; i--)
readtape(buf);
} else if (tmpbuf.c_firstrec > 0 &&