Author: emaste
Date: Wed Sep 12 17:05:39 2012
New Revision: 240410
URL: http://svn.freebsd.org/changeset/base/240410

Log:
  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
  MFC after:    3 days

Modified:
  head/lib/libc/stdlib/realpath.c

Modified: head/lib/libc/stdlib/realpath.c
==============================================================================
--- head/lib/libc/stdlib/realpath.c     Wed Sep 12 16:58:42 2012        
(r240409)
+++ head/lib/libc/stdlib/realpath.c     Wed Sep 12 17:05:39 2012        
(r240410)
@@ -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);
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to