Re: [patch] ptsname.3: Fix description of failure behaviour of ptsname_r

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 1/26/19 2:31 PM, Bruno Haible wrote:
> Hi,
> 
> 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).

Thanks, Bruno. Patch (finally) applied.

Cheers,

Michael


-- 
Michael Kerrisk
Linux man-pages maintainer; http://www.kernel.org/doc/man-pages/
Linux/UNIX System Programming Training: http://man7.org/training/



[Index of Archives]     [Kernel Documentation]     [Netdev]     [Linux Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux