<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/lib/libc/stdlib/realpath.3, branch release/14.4.0</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src/atom?h=release%2F14.4.0</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src/atom?h=release%2F14.4.0'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/'/>
<updated>2025-10-20T16:11:34Z</updated>
<entry>
<title>realpath: Belatedly document POSIX conformance</title>
<updated>2025-10-20T16:11:34Z</updated>
<author>
<name>Dag-Erling Smørgrav</name>
<email>des@FreeBSD.org</email>
</author>
<published>2025-10-13T11:53:31Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=4ab2e9d4feec969a634f26924822da94efabab7c'/>
<id>urn:sha1:4ab2e9d4feec969a634f26924822da94efabab7c</id>
<content type='text'>
We've been mostly POSIX-conforming since r236400 and fully since r240410,
which fixed a corner case where a missing non-leaf directory would be
reported as ENOTDIR instead of ENOENT.

Sponsored by:	Klara, Inc.
Fixes:		7877ed7ce33e ("Avoid mapping ENOENT to ENOTDIR for non-existent path components.")
Reviewed by:	ziaee, markj
Differential Revision:	https://reviews.freebsd.org/D53027

(cherry picked from commit 7c66667d45e95af59f59e41ef169119a974a6be1)
</content>
</entry>
<entry>
<title>Remove $FreeBSD$: one-line nroff pattern</title>
<updated>2023-08-16T17:55:15Z</updated>
<author>
<name>Warner Losh</name>
<email>imp@FreeBSD.org</email>
</author>
<published>2023-08-16T17:55:15Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=b2c76c41be32f904179efed29c0ca04d53f3996c'/>
<id>urn:sha1:b2c76c41be32f904179efed29c0ca04d53f3996c</id>
<content type='text'>
Remove /^\.\\"\s*\$FreeBSD\$$\n/
</content>
</entry>
<entry>
<title>Renumber clauses to reduce diffs to other versions</title>
<updated>2013-06-13T00:19:30Z</updated>
<author>
<name>Ed Maste</name>
<email>emaste@FreeBSD.org</email>
</author>
<published>2013-06-13T00:19:30Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=580b4d185bc1d20da91429229920ce590309cbf6'/>
<id>urn:sha1:580b4d185bc1d20da91429229920ce590309cbf6</id>
<content type='text'>
NetBSD, OpenBSD, and Android's Bionic number the clauses 1 through 3,
so follow suit to make comparison easier.
</content>
</entry>
<entry>
<title>Add restrict keyword to realpath manpage.</title>
<updated>2013-03-18T01:22:28Z</updated>
<author>
<name>Kevin Lo</name>
<email>kevlo@FreeBSD.org</email>
</author>
<published>2013-03-18T01:22:28Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=da5dfd565ffbe252e68888d493f86df5bf7318f1'/>
<id>urn:sha1:da5dfd565ffbe252e68888d493f86df5bf7318f1</id>
<content type='text'>
</content>
</entry>
<entry>
<title>According to SUSv4, realpath(3) must fail if</title>
<updated>2012-05-11T11:29:08Z</updated>
<author>
<name>Konstantin Belousov</name>
<email>kib@FreeBSD.org</email>
</author>
<published>2012-05-11T11:29:08Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=fdbe55fccb1c5de177001aa691addb77fb297362'/>
<id>urn:sha1:fdbe55fccb1c5de177001aa691addb77fb297362</id>
<content type='text'>
[ENOENT]  A component of file_name does not name an existing file or
    file_name points to an empty string.
[ENOTDIR] A component of the path prefix is not a directory, or the
    file_name argument contains at least one non- &lt;slash&gt; character
    and ends with one or more trailing &lt;slash&gt; characters and the last
    pathname component names an existing file that is neither a
    directory nor a symbolic link to a directory.
Add checks for the listed conditions, and set errno accordingly.

Update the realpath(3) manpage to mention SUS behaviour. Remove the
requirement to include sys/param.h before stdlib.h.

PR:	    128933
MFC after:  3 weeks
</content>
</entry>
<entry>
<title>Comment out IEEE Std 1003.1-2001 conformance proclaimed too early,</title>
<updated>2010-08-05T01:39:25Z</updated>
<author>
<name>Andrey A. Chernov</name>
<email>ache@FreeBSD.org</email>
</author>
<published>2010-08-05T01:39:25Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=01e14bff35320d489c4647b89b4961433ba2e9e4'/>
<id>urn:sha1:01e14bff35320d489c4647b89b4961433ba2e9e4</id>
<content type='text'>
see problems described in the comment to:
http://www.freebsd.org/cgi/query-pr.cgi?pr=kern/128933
</content>
</entry>
<entry>
<title>mdoc: move CAVEATS, BUGS and SECURITY CONSIDERATIONS sections to the</title>
<updated>2010-05-13T12:07:55Z</updated>
<author>
<name>Ulrich Spörlein</name>
<email>uqs@FreeBSD.org</email>
</author>
<published>2010-05-13T12:07:55Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=0afc94c17a8772df34294778904e816258542498'/>
<id>urn:sha1:0afc94c17a8772df34294778904e816258542498</id>
<content type='text'>
bottom of the manpages and order them consistently.

GNU groff doesn't care about the ordering, and doesn't even mention
CAVEATS and SECURITY CONSIDERATIONS as common sections and where to put
them.

Found by:	mdocml lint run
Reviewed by:	ru
</content>
</entry>
<entry>
<title>C language does not has references, it provides pointers.</title>
<updated>2010-04-21T19:35:56Z</updated>
<author>
<name>Konstantin Belousov</name>
<email>kib@FreeBSD.org</email>
</author>
<published>2010-04-21T19:35:56Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=431c9bf2d5ca4e10a4b744e51dfe3145f5fe7b6e'/>
<id>urn:sha1:431c9bf2d5ca4e10a4b744e51dfe3145f5fe7b6e</id>
<content type='text'>
Suggested by:	bde
MFC after:	2 weeks
</content>
</entry>
<entry>
<title>Add standards section, improve wording, taking into account the handling</title>
<updated>2010-04-21T16:41:02Z</updated>
<author>
<name>Konstantin Belousov</name>
<email>kib@FreeBSD.org</email>
</author>
<published>2010-04-21T16:41:02Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=7e36a19d5175b1fe085903ee15900175b9418559'/>
<id>urn:sha1:7e36a19d5175b1fe085903ee15900175b9418559</id>
<content type='text'>
of NULL and changed type in declaration.

Suggested by:	bde
MFC after:	2 weeks
</content>
</entry>
<entry>
<title>Slightly modernize realpath(3).</title>
<updated>2010-04-20T10:16:44Z</updated>
<author>
<name>Konstantin Belousov</name>
<email>kib@FreeBSD.org</email>
</author>
<published>2010-04-20T10:16:44Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=9d79ec20fb18158492642c73fb8a17b531308a7d'/>
<id>urn:sha1:9d79ec20fb18158492642c73fb8a17b531308a7d</id>
<content type='text'>
SUSv4 requires that implementation returns EINVAL if supplied path is NULL,
and ENOENT if path is empty string [1].
Bring prototype in conformance with SUSv4, adding restrict keywords.
Allow the resolved path buffer pointer be NULL, in which case realpath(3)
allocates storage with malloc().

PR:	kern/121897 [1]
MFC after:	2 weeks
</content>
</entry>
</feed>
