So much of C portability is fucking around with #define _{DEFAULT,BSD,GNU}_SOURCE so that the things you want are visible…
Conversation
Notices
-
Embed this notice
Haelwenn /элвэн/ :triskell: (lanodan@queer.hacktivis.me)'s status on Sunday, 05-May-2024 08:53:17 JST Haelwenn /элвэн/ :triskell: -
Embed this notice
anna (navi@social.vlhl.dev)'s status on Sunday, 05-May-2024 08:56:59 JST anna @lanodan me `#define _XOPEN_SOURCE 500` so that nftw is visible but suddenly that breaks freebsd includes on ci bc setting a standard is supposed to hide the extensions ig Haelwenn /элвэн/ :triskell: likes this. -
Embed this notice
Haelwenn /элвэн/ :triskell: (lanodan@queer.hacktivis.me)'s status on Sunday, 05-May-2024 08:59:49 JST Haelwenn /элвэн/ :triskell: @tedu Yeah usually with stripping out the POSIX one you get most extensions, but sadly not all the time.
Like one I just got is copy_file_range in FreeBSD hiding behind _BSD_SOURCE even though it comes from Linux (so should have been visible with _GNU_SOURCE).
At least the two don't conflict between each others (for now?). -
Embed this notice
tedu (tedu@honk.tedunangst.com)'s status on Sunday, 05-May-2024 08:59:50 JST tedu @lanodan I think this is half true. Most environments should default to extensions, but if you define _POSIX blah blah, then you have to opt in to extensions.
-
Embed this notice