This is the mail archive of the cygwin-developers@sourceware.cygnus.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

raw device patch



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;



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]