10.937 realpath
POSIX specification:
https://pubs.opengroup.org/onlinepubs/9699919799/functions/realpath.html
Gnulib module: canonicalize-lgpl
Portability problems fixed by Gnulib:
- This function is missing on some platforms:
mingw, MSVC 14.
- This function does not allow for a NULL ‘resolved’ parameter on
some platforms:
Mac OS X 10.5, FreeBSD 6.4, OpenBSD 4.4, Solaris 10.
- This function does not always return an absolute path on some
platforms:
Solaris 10.
- This function fails to detect trailing slashes on non-directories on
some platforms:
glibc 2.3.5, macOS 14, OpenBSD 6.0.
- This function fails to recognize non-directories or symlinks to non-directories
followed by ‘..’ on some platforms:
macOS 14, Cygwin 2.9.
- This function misbehaves on consecutive slashes on some platforms:
musl libc 1.2.2, AIX 7.
Portability problems not fixed by Gnulib:
- This function does not allow to determine the required size of output buffer;
the use of a non-NULL ‘resolved’ buffer is non-portable, since
PATH_MAX, if it is defined, is nothing more than a guess.