Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher Faylor <me@cgf.cx>2001-11-25 00:05:00 +0300
committerChristopher Faylor <me@cgf.cx>2001-11-25 00:05:00 +0300
commit28d3cc021d78f7f0867fc7f5f5930369ea94ff5a (patch)
treeb0e5971c3bd1118f3dffc32b95df970d62b59f4a
parent3409763ff308ce9a6ee393ba2ac47447ede9fde7 (diff)
* path.cc (path_conv::check): Tighten FH_CYGDRIVE check to avoid matching
trailing component, like other devices.
-rw-r--r--winsup/cygwin/ChangeLog5
-rw-r--r--winsup/cygwin/path.cc19
2 files changed, 13 insertions, 11 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index 72bbbda79..9c44cb221 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,5 +1,10 @@
2001-11-24 Christopher Faylor <cgf@redhat.com>
+ * path.cc (path_conv::check): Tighten FH_CYGDRIVE check to avoid
+ matching trailing component, like other devices.
+
+2001-11-24 Christopher Faylor <cgf@redhat.com>
+
* autoload.cc (IsDebuggerPresent): Make conditional load since it is
not available everywhere.
diff --git a/winsup/cygwin/path.cc b/winsup/cygwin/path.cc
index 8e1775c3c..af30927c0 100644
--- a/winsup/cygwin/path.cc
+++ b/winsup/cygwin/path.cc
@@ -482,19 +482,16 @@ path_conv::check (const char *src, unsigned opt,
/* devn should not be a device. If it is, then stop parsing now. */
if (devn != FH_BAD)
{
- if (devn == FH_CYGDRIVE)
- fileattr = !unit ? FILE_ATTRIBUTE_DIRECTORY
- : GetFileAttributes (full_path);
- else
+ if (component)
{
- if (component)
- {
- error = ENOTDIR;
- return;
- }
- fileattr = 0;
+ error = ENOTDIR;
+ return;
}
-
+ if (devn != FH_CYGDRIVE)
+ fileattr = 0;
+ else
+ fileattr = !unit ? FILE_ATTRIBUTE_DIRECTORY
+ : GetFileAttributes (full_path);
goto out; /* Found a device. Stop parsing. */
}