mirror of https://github.com/mkerrisk/man-pages
8d4d268f0e
The Linux man page for ptsname_r, when describing the behaviour in the error case, is - not consistent with the future POSIX standard (POSIX Issue 8). - not consistent with musl libc. Find attached a patch to - keep it consistent with what glibc does, - make it consistent with musl libc, - make it consistent with the future POSIX standard (POSIX Issue 8). Details: glibc's implementation of ptsname_r, when it fails, returns the error code as return value AND sets errno. See https://sourceware.org/git/?p=glibc.git;a=blob;f=login/ptsname.c https://sourceware.org/git/?p=glibc.git;a=blob;f=sysdeps/mach/hurd/ptsname.c https://sourceware.org/git/?p=glibc.git;a=blob;f=sysdeps/unix/sysv/linux/ptsname.c musl's implementation of ptsname_r, when it fails, returns the error code but does NOT set errno. See https://git.musl-libc.org/cgit/musl/tree/src/misc/pty.c The proposal to add ptsname_r to POSIX, with text "If successful, the ptsname_r( ) function shall return zero. Otherwise, an error number shall be returned to indicate the error." has been accepted for inclusion in POSIX Issue 8. http://austingroupbugs.net/view.php?id=508 Therefore a portable program should look at the return value from ptsname_r, NOT the errno value. The current text in the man page suggests to look at the errno value, which is wrong (because of musl libc) and not future-proof (because of future POSIX). Signed-off-by: Michael Kerrisk <mtk.manpages@gmail.com> |
||
---|---|---|
man1 | ||
man2 | ||
man3 | ||
man4 | ||
man5 | ||
man6 | ||
man7 | ||
man8 | ||
scripts | ||
CONTRIBUTING | ||
Changes | ||
Changes.old | ||
Makefile | ||
README | ||
man-pages-5.07.Announce | ||
man-pages-5.07.lsm |
README
This package contains Linux man pages for sections 1 through 8. Some more information is given in the 'man-pages-x.y.Announce' file. Homepage ======== For information about the Linux man-pages project, see http://www.kernel.org/doc/man-pages/index.html. Bug reports and contributing ============================ If you have corrections and additions to suggest, see http://www.kernel.org/doc/man-pages/contributing.html (Although there is a mirror of this repository on GitHub, please don't report issues via the GitHub issue tracker!) For further information on contributing, see the CONTRIBUTING file. Installing and uninstalling =========================== "make install" will copy these man pages to /usr/share/man/man[1-8]. To install to a path different from /usr, use "make install prefix=/install/path". "make remove" or "make uninstall" will remove any man page in this distribution from its destination. Use with caution, and remember to use "prefix" if desired, as with the "install" target. "make" or "make all" will perform "make uninstall" followed by "make install". Copyrights ========== See the 'man-pages-x.y.Announce' file.