From b98c66ee2c65f9281aba61760002e63ff30e842a Mon Sep 17 00:00:00 2001 From: Corinna Vinschen Date: Sun, 11 Jan 2009 16:13:11 +0000 Subject: [PATCH] * 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. --- winsup/cygwin/ChangeLog | 8 ++++++++ winsup/cygwin/errno.cc | 6 +++--- winsup/cygwin/path.cc | 8 ++++---- 3 files changed, 15 insertions(+), 7 deletions(-) diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index 2e1053092..4e4a413f7 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,11 @@ +2009-01-11 Corinna Vinschen + + * 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 * mount.cc (mount_info::from_fstab_line): Always convert drive diff --git a/winsup/cygwin/errno.cc b/winsup/cygwin/errno.cc index 2d8207cad..7aaf8c691 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 2cca8f8e2..aa635103d 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;