raw device patch
Corinna Vinschen
corinna@vinschen.de
Fri Sep 3 09:16:00 GMT 1999
Hi Chris, hi all!
I have patched fhandler_raw.cc and fhandler_tape.cc because the
S_ISCHR flag wasn't set correctly. This has produced the cpio
problem that was reported in the cygwin mailing list by
Vincent Virgilio <Vincent_Virgilio@nmss.com>
Regards,
Corinna
ChangeLog:
==========
Fri Sep 3 18:15:00 1999 Corinna Vinschen <corinna@vinschen.de>
* fhandler_raw.cc (fhandler_dev_raw::fstat): Added S_ISCHR
to mode bits.
* fhandler_tape.cc (fhandler_dev_tape::fstat): Erased setting
of S_ISCHR because it's set in fhandler_dev_raw::fstat now.
Index: fhandler_raw.cc
===================================================================
RCS file: /src/cvsroot/winsup-990818/fhandler_raw.cc,v
retrieving revision 1.1.1.1
diff -u -p -r1.1.1.1 fhandler_raw.cc
--- fhandler_raw.cc 1999/08/19 19:42:55 1.1.1.1
+++ fhandler_raw.cc 1999/09/03 15:56:19
@@ -128,9 +128,10 @@ fhandler_dev_raw::fstat (struct stat *bu
}
memset (buf, 0, sizeof *buf);
- buf->st_mode = S_IRUSR | S_IWUSR |
- S_IRGRP | S_IWGRP |
- S_IROTH | S_IWOTH;
+ buf->st_mode = S_IFCHR |
+ S_IRUSR | S_IWUSR |
+ S_IRGRP | S_IWGRP |
+ S_IROTH | S_IWOTH;
buf->st_nlink = 1;
buf->st_blksize = devbuf ? devbufsiz : 1;
buf->st_dev = buf->st_rdev = get_device () << 8 | (unit & 0xff);
Index: fhandler_tape.cc
===================================================================
RCS file: /src/cvsroot/winsup-990818/fhandler_tape.cc,v
retrieving revision 1.1.1.1
diff -u -p -r1.1.1.1 fhandler_tape.cc
--- fhandler_tape.cc 1999/08/19 19:42:55 1.1.1.1
+++ fhandler_tape.cc 1999/09/03 15:56:27
@@ -158,8 +158,6 @@ fhandler_dev_tape::fstat (struct stat *b
{
struct mtget get;
- buf->st_mode |= S_IFCHR;
-
if (! ioctl (MTIOCGET, &get))
{
buf->st_blocks = get.mt_capacity / buf->st_blksize;
More information about the Cygwin-developers
mailing list