Re: Mangled function prototypes (phantom arguments)

"Michael Kerrisk (man7.org)" <[email protected]> Thu, 28 May 2026 15:06:10 +0200
Newsgroups org.kernel.vger.linux-man
Message-ID <CAFs=pgaaDgMULDkwrewtegogQQCZjCFqEPUEkAfKpT67rEWZ1Q@mail.gmail.com>
Hi Alex,

On Wed, 27 May 2026 at 19:58, Alejandro Colomar <[email protected]> wrote:
>
> Hi Michael,
>
> On 2026-05-27T18:46:06+0200, Michael Kerrisk (man7.org) wrote:
> > Hello Alex,
> >
> > Thanks for responding.
> >
> > > > The problems have all resulted in prototypes adding a phantom first
> > > > argument. See for example this prototype from read.2:
> > > >
> > > >        ssize_t read(size_t count;
> > > >                     int fd, void buf[count], size_t count);
> > >
> > > This is valid C (except for the array of void, but that's a separate
> > > topic).
> >
> > As we see, I'm not keeping up with my C :-).
>
> To be fair, this is a very little-known feature (even though it's a very
> old one).  I (and a few others) are trying to make it more well known,
> as it's quite interesting.

I don't think the Linux system call and C library manual pages are a
good place to promote this obscure GNU feature. It is confusing
people, including me. (I came to making this report because several
people have reported this "bug" on various pages rendered at
man7.org.)

Please consider reverting these changes. These markings use
little-understood, nonportable syntax. The manual page synopses should
be in standard, portable C that is *easy* to understand.

Thanks,

Michael

-- 
Michael Kerrisk, man7.org Training and Consulting
[email protected], http://man7.org/training/
"The Linux Programming Interface" -- http://man7.org/tlpi/