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:
authorCorinna Vinschen <corinna@vinschen.de>2010-12-06 16:09:40 +0300
committerCorinna Vinschen <corinna@vinschen.de>2010-12-06 16:09:40 +0300
commit9de485e8e0d0aa93eb1351ac45baa9a69e896936 (patch)
tree9680d884fd6afd42ce15cd2473bb9f3e2cb536f9 /winsup/cygwin/path.cc
parenta6398b2ffed0667aa6a846933d3fb75ef9354f0b (diff)
* path.cc (path_conv::check): Don't generate ENOENT for non-existant
CYGDRIVE and NETDRIVE paths. Add comment.
Diffstat (limited to 'winsup/cygwin/path.cc')
-rw-r--r--winsup/cygwin/path.cc9
1 files changed, 8 insertions, 1 deletions
diff --git a/winsup/cygwin/path.cc b/winsup/cygwin/path.cc
index eb0fdbefb..ff3e3f034 100644
--- a/winsup/cygwin/path.cc
+++ b/winsup/cygwin/path.cc
@@ -1035,8 +1035,15 @@ out:
is used on it. */
dev.parse (FH_FS);
}
- else if (isvirtual_dev (dev.devn) && fileattr == INVALID_FILE_ATTRIBUTES)
+ else if (isproc_dev (dev.devn) && fileattr == INVALID_FILE_ATTRIBUTES)
{
+ /* FIXME: Usually we don't set error to ENOENT if a file doesn't
+ exist. This is typically indicated by the fileattr content.
+ So, why here? The downside is that cygwin_conv_path just gets
+ an error for these paths so it reports the error back to the
+ application. Unlike in all other cases of non-existant files,
+ for which check doesn't set error, so cygwin_conv_path just
+ returns the path, as intended. */
error = ENOENT;
return;
}