Date:        Sun, 22 Oct 2017 05:59:41 +0200
    From:        Kamil Rytarowski <n...@gmx.com>
    Message-ID:  <1fba73e6-6ef5-ae30-4a3d-570db32fb...@gmx.com>

  | As far as I can tell, if something defines a namespace like
  | _POSIX_SOURCE, it excludes _NETBSD_SOURCE. I've not researched the
  | source of this mechanism, but this is my observation and common in 3rd
  | party software.

Excludes by default, yes, it is from sys/featuretest.h (which is included
by just about every other standard header file.)

#if !defined(_ANSI_SOURCE) && !defined(_POSIX_C_SOURCE) && \
    !defined(_XOPEN_SOURCE) && !defined(_NETBSD_SOURCE)
#define _NETBSD_SOURCE 1
#endif

That's where the _NETBSD_SOURCE definition normally comes from.

I'm not sure that case is important for the current issue though, as if
something is specifically defining _POSIX_SOURCE (or one of the other 2)
then it certainly should not be using ioctl() and if there are such
applications, and we break them, well, good...

kre

Reply via email to