use transparent strlcpy/strlcat fallback#151
Conversation
Using _libbsd-overlay_ through pkg-config allows accessing `strlcpy`/`strlcat` by including `<string.h>`, just like on BSD. This simplifies compatibility code massively.
|
Poking @mskucherawy. |
|
Thanks for the PR - the code reduction is appealing, but we have concerns about making libbsd (or a compatible library) a mandatory build dependency on non-BSD platforms. libbsd availability varies quite a bit across Linux distros and embedded targets, and we're wary of adding more complexity to the configure.ac dependency detection. Can you speak to how widely available libbsd-overlay is, particularly on older distros and non-mainstream platforms? This needs discussion with the broader team before we can consider merging. |
|
TIL that musl has strlcpy and strlcat. If it takes off, it may make sense to support this in addition to libbsd, but not as a replacement. In any case it would be much nicer to have the whitespace changes split out into separate commits for readability, and targeted at the |
Using libbsd-overlay through pkg-config allows accessing
strlcpy/strlcatby including<string.h>and programming as if we're on BSD. This simplifies compatibility code massively.My interest here is making OpenDKIM work with my libobsd library which I'm trying to get into OpenWRT at openwrt/openwrt#9714. OpenDKIM is one of the programs my library needs to work with for that.
My library can act as an alternative to libbsd, and I'm trying to get others to use libbsd's libbsd-overlay mode over the normal libbsd mode because I think it leads to smaller, simpler, and cleaner code as evidenced by this PR.
I've build tested this on Alpine Linux and OpenBSD.