aboutsummaryrefslogtreecommitdiff
path: root/compat/vis.c
AgeCommit message (Collapse)Author
2023-08-07add missing include of config.h in vis.cOmar Polo
2023-08-07address the strnvis(3) portability fiascoOmar Polo
strnvis originates on OpenBSD. When NetBSD added it to their libc they decided to swap the argument. Without starting a holy war on the "best" argument order, adding an implementation of a function that's widely available and making its signature purposefully incompatible is beyond justification. FreeBSD (and so macos too?) followed NetBSD in this, so we end up with *two* major and incompatible strnvis implementations. libbsd is in a limbo, they started with the OpenBSD version but they'll probably switch to the NetBSD version in the future. That's why we can't have nice things. Do the right thing(tm) and check for the presence of the original strnvis(3), if not available or broken use the bundled one.