diff options
-rw-r--r-- | winsup/cygwin/ChangeLog | 5 | ||||
-rw-r--r-- | winsup/cygwin/fhandler_tape.cc | 5 |
2 files changed, 9 insertions, 1 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index 4297895cb..e1cd49b94 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,8 @@ +Fri Jun 15 11:15:00 2001 Corinna Vinschen <corinna@vinschen.de> + + * fhandler_tape.cc (fhandler_dev_tape::tape_status): Set size + parameter to value expected by GetTapeParameters(). + Thu Jun 14 20:19:46 2001 Christopher Faylor <cgf@cygnus.com> * fhandler.cc (fhandler_disk_file::fstat): Properly set executable bits diff --git a/winsup/cygwin/fhandler_tape.cc b/winsup/cygwin/fhandler_tape.cc index 2b6e31705..f7624ad15 100644 --- a/winsup/cygwin/fhandler_tape.cc +++ b/winsup/cygwin/fhandler_tape.cc @@ -741,9 +741,12 @@ fhandler_dev_tape::tape_status (struct mtget *get) || (lasterr == ERROR_BUS_RESET)) ; + /* Setting varlen to sizeof DP is by intention, actually! Never set + it to sizeof MP which seems to be more correct but results in a + ERROR_MORE_DATA error at least on W2K. */ if ((lasterr) || (lasterr = GetTapeParameters (get_handle (), GET_TAPE_MEDIA_INFORMATION, - (varlen = sizeof mp, &varlen), + (varlen = sizeof dp, &varlen), &mp))) notape = 1; |