* fhandler_tape.cc (mtinfo_drive::_set_pos): Take additional dont_wait

parameter.  Use in call to SetTapePosition.
	(mtinfo_drive::set_pos): Accomodate _set_pos calls to above change.
	(mtinfo_drive::set_partition): Ditto.
	* mtinfo.h (mtinfo_drive::_set_pos): Change declaration accordingly.
This commit is contained in:
Corinna Vinschen 2004-04-19 13:07:55 +00:00
parent 6f3375a5bf
commit 1facc71a35
3 changed files with 17 additions and 9 deletions

View File

@ -1,3 +1,11 @@
2004-04-19 Corinna Vinschen <corinna@vinschen.de>
* fhandler_tape.cc (mtinfo_drive::_set_pos): Take additional dont_wait
parameter. Use in call to SetTapePosition.
(mtinfo_drive::set_pos): Accomodate _set_pos calls to above change.
(mtinfo_drive::set_partition): Ditto.
* mtinfo.h (mtinfo_drive::_set_pos): Change declaration accordingly.
2004-04-16 Corinna Vinschen <corinna@vinschen.de>
* autoload.cc (NtCreateFile): Add.

View File

@ -341,11 +341,11 @@ mtinfo_drive::get_pos (HANDLE mt, long *ppartition, long *pblock)
}
int
mtinfo_drive::_set_pos (HANDLE mt, int mode, long count,
int partition)
mtinfo_drive::_set_pos (HANDLE mt, int mode, long count, int partition,
BOOL dont_wait)
{
TAPE_FUNC (SetTapePosition (mt, mode, partition, count,
count < 0 ? -1 : 0, FALSE));
TAPE_FUNC (SetTapePosition (mt, mode, partition, count, count < 0 ? -1 : 0,
dont_wait));
dirty = clean;
return lasterr;
}
@ -378,14 +378,14 @@ mtinfo_drive::set_pos (HANDLE mt, int mode, long count,
if (mode == TAPE_SPACE_FILEMARKS)
{
while (!err && undone > 0)
if (!(err = _set_pos (mt, mode, 1, 0)) || IS_SM (err))
if (!(err = _set_pos (mt, mode, 1, 0, FALSE)) || IS_SM (err))
--undone;
while (!err && undone < 0)
if (!(err = _set_pos (mt, mode, -1, 0)) || IS_SM (err))
if (!(err = _set_pos (mt, mode, -1, 0, FALSE)) || IS_SM (err))
++undone;
}
else
err = _set_pos (mt, mode, count, dont_wait);
err = _set_pos (mt, mode, count, 0, dont_wait);
switch (mode)
{
case TAPE_ABSOLUTE_BLOCK:
@ -546,7 +546,7 @@ mtinfo_drive::set_partition (HANDLE mt, long count)
else
{
int part_block = part (count)->block >= 0 ? part (count)->block : 0;
int err = _set_pos (mt, TAPE_LOGICAL_BLOCK, part_block, count + 1);
int err = _set_pos (mt, TAPE_LOGICAL_BLOCK, part_block, count + 1, FALSE);
if (err)
{
int sav_block = block;

View File

@ -91,7 +91,7 @@ class mtinfo_drive
: ((_dp.FeaturesLow & parm) != 0));
}
int get_pos (HANDLE mt, long *ppartition = NULL, long *pblock = NULL);
int _set_pos (HANDLE mt, int mode, long count, int partition);
int _set_pos (HANDLE mt, int mode, long count, int partition, BOOL dont_wait);
int create_partitions (HANDLE mt, long count);
int set_partition (HANDLE mt, long count);
int write_marks (HANDLE mt, int marktype, DWORD count);