Re: [PATCH] grantpt.3: explicitly mention #define _XOPEN_SOURCE requirement

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

 



On Sun, May 26, 2024 at 12:39:07PM +0200, Alejandro Colomar wrote:
> Hi Emanuele,
> 
> On Sun, May 26, 2024 at 08:42:18AM GMT, Emanuele Torre wrote:
> > Like the unlockpt(3) function, grantpt(3) requires _XOPEN_SOURCE to be
> > defined before including stdlib.h.
> > 
> > unlockpt.3 explicitly shows this requirement in its SYNOPSIS:
> > 
> >     SYNOPSIS
> >            #define _XOPEN_SOURCE
> >            #include <stdlib.h>
> > 
> >            int unlockpt(int fd);
> > 
> > But grantpt.3 did not:
> > 
> >     SYNOPSIS
> >            #include <stdlib.h>
> > 
> >            int grantpt(int fd);
> > 
> > o/
> >  emanuele6
> 
> Patch applied; thanks.

I've just noticed that ptsname.3 is also missing  #define _XOPEN_SOURCE
in its synopsis; however  #define _XOPEN_SOURCE  does not seem to work.

Even if _XOPEN_SOURCE is defined, #include <stdlib.h> does not include
the prototype of ptsname(3).  It seems to only be included when
_GNU_SOURCE is defined.

This may be a glibc bug because ptsname(3) is supposed to be a POSIX XSI
function like grantpt(3) and unlockpt(3).  Only ptsname_r(3) is an
extension.

https://pubs.opengroup.org/onlinepubs/9699919799/functions/ptsname.html

    $ gcc -fsyntax-only -D_XOPEN_SOURCE -includestdlib.h -x c - <<< 'int main(){ptsname(0);}'
    <stdin>: In function ‘main’:
    <stdin>:1:12: error: implicit declaration of function ‘ptsname’ [-Wimplicit-function-declaration]

    $ gcc -fsyntax-only -D_GNU_SOURCE -includestdlib.h -x c - <<< 'int main(){ptsname(0);}'

I am using the version of glibc packaged by ArchLinux
(package version 2.39+r52+gf8e4623421-1).

I added libc-alpha@xxxxxxxxxxxxxx to CC in case it is actually a bug.

> 
> Have a lovely day!

You too!  :-)

> Alex

o/
 emanuele6




[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