aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2009-01-11 16:13:11 +0000
committerCorinna Vinschen <corinna@vinschen.de>2009-01-11 16:13:11 +0000
commitb98c66ee2c65f9281aba61760002e63ff30e842a (patch)
tree5f1e2bc32d488f901e44732f6d36ccaf567e4bb8
parent45cda16a7fd6f9076d410386421c7e79583612a8 (diff)
downloadnewlib-b98c66ee2c65f9281aba61760002e63ff30e842a.zip
newlib-b98c66ee2c65f9281aba61760002e63ff30e842a.tar.gz
newlib-b98c66ee2c65f9281aba61760002e63ff30e842a.tar.bz2
* errno.cc (errmap): Set errno to ENOENT instead of ENOSHARE throughout.
* path.cc (path_conv::check): Set to and check for ENOENT instead of ENOSHARE. * path.cc (symlink_info::check): Fix Samba 3.2.x comment.
-rw-r--r--winsup/cygwin/ChangeLog8
-rw-r--r--winsup/cygwin/errno.cc6
-rw-r--r--winsup/cygwin/path.cc8
3 files changed, 15 insertions, 7 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index 2e10530..4e4a413 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,3 +1,11 @@
+2009-01-11 Corinna Vinschen <corinna@vinschen.de>
+
+ * errno.cc (errmap): Set errno to ENOENT instead of ENOSHARE throughout.
+ * path.cc (path_conv::check): Set to and check for ENOENT instead of
+ ENOSHARE.
+
+ * path.cc (symlink_info::check): Fix Samba 3.2.x comment.
+
2009-01-09 Corinna Vinschen <corinna@vinschen.de>
* mount.cc (mount_info::from_fstab_line): Always convert drive
diff --git a/winsup/cygwin/errno.cc b/winsup/cygwin/errno.cc
index 2d8207c..7aaf8c6 100644
--- a/winsup/cygwin/errno.cc
+++ b/winsup/cygwin/errno.cc
@@ -36,8 +36,8 @@ static NO_COPY struct
X (ACTIVE_CONNECTIONS, EAGAIN),
X (ALREADY_EXISTS, EEXIST),
X (BAD_DEVICE, ENODEV),
- X (BAD_NETPATH, ENOSHARE),
- X (BAD_NET_NAME, ENOSHARE),
+ X (BAD_NETPATH, ENOENT),
+ X (BAD_NET_NAME, ENOENT),
X (BAD_PATHNAME, ENOENT),
X (BAD_PIPE, EINVAL),
X (BAD_UNIT, ENODEV),
@@ -92,7 +92,7 @@ static NO_COPY struct
X (MOD_NOT_FOUND, ENOENT),
X (MORE_DATA, EMSGSIZE),
X (NEGATIVE_SEEK, EINVAL),
- X (NETNAME_DELETED, ENOSHARE),
+ X (NETNAME_DELETED, ENOENT),
X (NOACCESS, EFAULT),
X (NONPAGED_SYSTEM_RESOURCES, EAGAIN),
X (NONE_MAPPED, EINVAL),
diff --git a/winsup/cygwin/path.cc b/winsup/cygwin/path.cc
index 2cca8f8..aa63510 100644
--- a/winsup/cygwin/path.cc
+++ b/winsup/cygwin/path.cc
@@ -901,7 +901,7 @@ is_virtual_symlink:
else
break;
}
- else if (sym.error && sym.error != ENOENT && sym.error != ENOSHARE)
+ else if (sym.error && sym.error != ENOENT)
{
error = sym.error;
goto out;
@@ -996,7 +996,7 @@ out:
}
else if (isvirtual_dev (dev.devn) && fileattr == INVALID_FILE_ATTRIBUTES)
{
- error = dev.devn == FH_NETDRIVE ? ENOSHARE : ENOENT;
+ error = ENOENT;
return;
}
else if (!need_directory || error)
@@ -2162,8 +2162,8 @@ symlink_info::check (char *path, const suffix_info *suffixes, unsigned opt,
eabuf, easize);
/* No right to access EAs or EAs not supported? */
if (status == STATUS_ACCESS_DENIED || status == STATUS_EAS_NOT_SUPPORTED
- /* Or a bug in Samba 3.2.x when accessing a share's root dir which
- has EAs enabled? */
+ /* Or a bug in Samba 3.2.x (x <= 7) when accessing a share's root dir
+ which has EAs enabled? */
|| status == STATUS_INVALID_PARAMETER)
{
no_ea = true;