summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin
diff options
context:
space:
mode:
Diffstat (limited to 'winsup/cygwin')
-rw-r--r--winsup/cygwin/ChangeLog5
-rw-r--r--winsup/cygwin/fhandler_tape.cc5
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;