aboutsummaryrefslogtreecommitdiff
path: root/winsup/cygwin
diff options
context:
space:
mode:
authorChristopher Faylor <me@cgf.cx>2001-12-08 22:07:05 +0000
committerChristopher Faylor <me@cgf.cx>2001-12-08 22:07:05 +0000
commitee99a3bff4d9b9b50cb6557eeb54707c60486e84 (patch)
tree87f06009bc8373587b7a87dc30ae7362729a0fe2 /winsup/cygwin
parentf11d1d746accc3452aa548ca7624e88ece40b706 (diff)
downloadnewlib-github/unlabeled-1.188.2.1.8.2.2.zip
newlib-github/unlabeled-1.188.2.1.8.2.2.tar.gz
newlib-github/unlabeled-1.188.2.1.8.2.2.tar.bz2
* path.cc (path_conv::check): Use full path name for determining attributesgithub/unlabeled-1.188.2.1.8.2.2unlabeled-1.188.2.1.8.2.2
when /cygdrive/x/foo.
Diffstat (limited to 'winsup/cygwin')
-rw-r--r--winsup/cygwin/path.cc13
1 files changed, 8 insertions, 5 deletions
diff --git a/winsup/cygwin/path.cc b/winsup/cygwin/path.cc
index 01c3270..aa0ec54 100644
--- a/winsup/cygwin/path.cc
+++ b/winsup/cygwin/path.cc
@@ -481,10 +481,13 @@ path_conv::check (const char *src, unsigned opt,
if (devn == FH_CYGDRIVE)
{
- if (component)
- devn = FH_BAD;
- fileattr = !unit ? FILE_ATTRIBUTE_DIRECTORY
- : GetFileAttributes (full_path);
+ if (!component)
+ fileattr = FILE_ATTRIBUTE_DIRECTORY;
+ else
+ {
+ devn = FH_BAD;
+ fileattr = GetFileAttributes (this->path);
+ }
goto out;
}
/* devn should not be a device. If it is, then stop parsing now. */
@@ -519,7 +522,7 @@ path_conv::check (const char *src, unsigned opt,
if ((opt & PC_SYM_IGNORE) && pcheck_case == PCHECK_RELAXED)
{
- fileattr = GetFileAttributes (full_path);
+ fileattr = GetFileAttributes (this->path);
goto out;
}