possible open() problem again

Jakub Jelinek jakub at redhat.com
Thu Aug 23 21:05:53 UTC 2007


On Thu, Aug 23, 2007 at 10:45:25PM +0200, Denis Leroy wrote:
> >So
> >int (open)(const char *pathname, int flags, ...)
> >{
> >...
> >}
> 
> I can't help but cringe at this horrible open() macro hack we have to 
> deal with now. I mean, this was perfectly legal C code and we can't 
> compile it ?!

Well, ISO C doesn't cover fcntl.h, if it would, it would certainly not
be a perfectly legal C code, as per ISO C99, 7.1.3/1.
As fcntl.h is a POSIX header, you need to consider that standard
and that standard says that this code is not perfectly legal.
See
http://www.opengroup.org/onlinepubs/009695399/functions/xsh_chap02_01.html#tag_02_01
http://www.opengroup.org/onlinepubs/009695399/basedefs/fcntl.h.html

	Jakub




More information about the Fedora-maintainers mailing list