svn commit: r240647 - releng/9.1/lib/libc/stdlib
Ed Maste
emaste at FreeBSD.org
Tue Sep 18 13:03:01 UTC 2012
Author: emaste
Date: Tue Sep 18 13:03:00 2012
New Revision: 240647
URL: http://svn.freebsd.org/changeset/base/240647
Log:
MFC r240410:
Avoid mapping ENOENT to ENOTDIR for non-existent path components.
The ENOTDIR mapping was introduced in r235266 for kern/128933 based on
an interpretation of the somewhat ambiguous language in the POSIX realpath
specification. The interpretation is inconsistent with Solaris and Linux,
a regression from 9.0, and does not appear to be permitted by the
description of ENOTDIR:
20 ENOTDIR Not a directory. A component of the specified pathname
existed, but it was not a directory, when a directory was
expected.
PR: standards/171577
Approved by: re
Sponsored by: ADARA Networks
Modified:
releng/9.1/lib/libc/stdlib/realpath.c
Directory Properties:
releng/9.1/lib/libc/ (props changed)
Modified: releng/9.1/lib/libc/stdlib/realpath.c
==============================================================================
--- releng/9.1/lib/libc/stdlib/realpath.c Tue Sep 18 12:34:35 2012 (r240646)
+++ releng/9.1/lib/libc/stdlib/realpath.c Tue Sep 18 13:03:00 2012 (r240647)
@@ -181,8 +181,6 @@ realpath(const char * __restrict path, c
return (NULL);
}
if (lstat(resolved, &sb) != 0) {
- if (errno != ENOENT || p != NULL)
- errno = ENOTDIR;
if (m)
free(resolved);
return (NULL);
More information about the svn-src-all
mailing list