summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2012-04-02 15:56:43 +0000
committerCorinna Vinschen <corinna@vinschen.de>2012-04-02 15:56:43 +0000
commitf7c8c4540a86561fc4cc100c0d752740231d7960 (patch)
treeea5bde2ea06e3c3874e7ac34287d8090e46e17f0
parent1f312200d30c76f24e6bc56afa7d4786ea86b4d5 (diff)
downloadcygnal-f7c8c4540a86561fc4cc100c0d752740231d7960.tar.gz
cygnal-f7c8c4540a86561fc4cc100c0d752740231d7960.tar.bz2
cygnal-f7c8c4540a86561fc4cc100c0d752740231d7960.zip
* devices.h (FH_CYGDRIVE): Define as DEV_VIRTFS_MAJOR class device.
(DEV_CYGDRIVE_MAJOR): Remove. (iscygdrive_dev): Define. * dtable.cc (fh_alloc): Accommodate above change. * path.cc (path_conv::check): Use iscygdrive_dev to check for cygdrive. * syscalls.cc (fhandler_base::set_ino_and_dev): Drop check for DEV_CYGDRIVE_MAJOR from conditional.
-rw-r--r--winsup/cygwin/ChangeLog10
-rw-r--r--winsup/cygwin/devices.h6
-rw-r--r--winsup/cygwin/dtable.cc6
-rw-r--r--winsup/cygwin/path.cc2
-rw-r--r--winsup/cygwin/syscalls.cc3
5 files changed, 18 insertions, 9 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index db35faf72..339066306 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,5 +1,15 @@
2012-04-02 Corinna Vinschen <corinna@vinschen.de>
+ * devices.h (FH_CYGDRIVE): Define as DEV_VIRTFS_MAJOR class device.
+ (DEV_CYGDRIVE_MAJOR): Remove.
+ (iscygdrive_dev): Define.
+ * dtable.cc (fh_alloc): Accommodate above change.
+ * path.cc (path_conv::check): Use iscygdrive_dev to check for cygdrive.
+ * syscalls.cc (fhandler_base::set_ino_and_dev): Drop check for
+ DEV_CYGDRIVE_MAJOR from conditional.
+
+2012-04-02 Corinna Vinschen <corinna@vinschen.de>
+
* devices.h (FH_DEV): Define as DEV_VIRTFS_MAJOR class device.
(DEV_DEV_MAJOR): Remove.
* dtable.cc (fh_alloc): Accommodate above change.
diff --git a/winsup/cygwin/devices.h b/winsup/cygwin/devices.h
index d059bec2b..f5607f8c8 100644
--- a/winsup/cygwin/devices.h
+++ b/winsup/cygwin/devices.h
@@ -73,6 +73,7 @@ enum fh_devices
FH_FS = FHDEV (DEV_VIRTFS_MAJOR, 195), /* filesystem based device */
FH_NETDRIVE= FHDEV (DEV_VIRTFS_MAJOR, 194),
FH_DEV = FHDEV (DEV_VIRTFS_MAJOR, 193),
+ FH_CYGDRIVE= FHDEV (DEV_VIRTFS_MAJOR, 192),
DEV_FLOPPY_MAJOR = 2,
FH_FLOPPY = FHDEV (DEV_FLOPPY_MAJOR, 0),
@@ -244,9 +245,6 @@ enum fh_devices
DEV_SOUND_MAJOR = 14,
FH_OSS_DSP = FHDEV (DEV_SOUND_MAJOR, 3),
- DEV_CYGDRIVE_MAJOR = 98,
- FH_CYGDRIVE= FHDEV (DEV_CYGDRIVE_MAJOR, 0),
-
DEV_TCP_MAJOR = 30,
FH_TCP = FHDEV (DEV_TCP_MAJOR, 36),
FH_UDP = FHDEV (DEV_TCP_MAJOR, 39),
@@ -365,6 +363,8 @@ extern const device dev_fs_storage;
#define isproc_dev(devn) \
(devn >= FH_PROC_MIN_MINOR && devn <= FH_PROC_MAX_MINOR)
+#define iscygdrive_dev(devn) (devn == FH_CYGDRIVE)
+
#define isdev_dev(devn) (devn == FH_DEV)
#define isprocsys_dev(devn) (devn == FH_PROCSYS)
diff --git a/winsup/cygwin/dtable.cc b/winsup/cygwin/dtable.cc
index 782bab17b..15f4c0ce7 100644
--- a/winsup/cygwin/dtable.cc
+++ b/winsup/cygwin/dtable.cc
@@ -456,9 +456,6 @@ fh_alloc (path_conv& pc)
case DEV_PTYM_MAJOR:
fh = cnew (fhandler_pty_master, pc.dev.get_minor ());
break;
- case DEV_CYGDRIVE_MAJOR:
- fh = cnew (fhandler_cygdrive);
- break;
case DEV_FLOPPY_MAJOR:
case DEV_CDROM_MAJOR:
case DEV_SD_MAJOR:
@@ -562,6 +559,9 @@ fh_alloc (path_conv& pc)
case FH_DEV:
fh = cnew (fhandler_dev);
break;
+ case FH_CYGDRIVE:
+ fh = cnew (fhandler_cygdrive);
+ break;
case FH_TTY:
if (!pc.isopen ())
{
diff --git a/winsup/cygwin/path.cc b/winsup/cygwin/path.cc
index cd797bfc4..87389141a 100644
--- a/winsup/cygwin/path.cc
+++ b/winsup/cygwin/path.cc
@@ -724,7 +724,7 @@ path_conv::check (const char *src, unsigned opt,
return;
}
- if (dev.get_major () == DEV_CYGDRIVE_MAJOR)
+ if (iscygdrive_dev (dev))
{
if (!component)
fileattr = FILE_ATTRIBUTE_DIRECTORY | FILE_ATTRIBUTE_READONLY;
diff --git a/winsup/cygwin/syscalls.cc b/winsup/cygwin/syscalls.cc
index 73948107d..fce0d28ee 100644
--- a/winsup/cygwin/syscalls.cc
+++ b/winsup/cygwin/syscalls.cc
@@ -1612,8 +1612,7 @@ fhandler_base::set_ino_and_dev (struct __stat64 *buf)
buf->st_dev = get_device ();
}
/* Only set st_rdev if it's a device. */
- if (!buf->st_rdev && get_major () != DEV_VIRTFS_MAJOR
- && get_major () != DEV_CYGDRIVE_MAJOR)
+ if (!buf->st_rdev && get_major () != DEV_VIRTFS_MAJOR)
buf->st_rdev = get_device ();
}