diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2010-12-06 16:09:40 +0300 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2010-12-06 16:09:40 +0300 |
commit | 9de485e8e0d0aa93eb1351ac45baa9a69e896936 (patch) | |
tree | 9680d884fd6afd42ce15cd2473bb9f3e2cb536f9 /winsup/cygwin/path.cc | |
parent | a6398b2ffed0667aa6a846933d3fb75ef9354f0b (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.cc | 9 |
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; } |