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