0src/common/netif.cpp:137:51: error: comparison of integers of different signs: 'int64_t' (aka 'long') and 'unsigned long' [-Werror,-Wsign-compare]
1 137 | for (nlmsghdr* hdr = (nlmsghdr*)response; NLMSG_OK(hdr, recv_result); hdr = NLMSG_NEXT(hdr, recv_result)) {
2 | ^~~~~~~~~~~~~~~~~~~~~~~~~~
3/usr/include/netlink/netlink.h:220:31: note: expanded from macro 'NLMSG_OK'
4 220 | #define NLMSG_OK(_hdr, _len) NL_ITEM_OK(_hdr, _len, NLMSG_HDRLEN, _NLMSG_LEN)
5 | ^ ~~~~ ~~~~~~~~~~~~
6/usr/include/netlink/netlink.h:203:10: note: expanded from macro 'NL_ITEM_OK'
7 203 | ((_len) >= _hlen && _LEN_M(_ptr) >= _hlen && _LEN_M(_ptr) <= (_len))
8 | ~~~~ ^ ~~~~~
91 error generated.
Happens on FreeBSD 15.0, with the default compiler (Clang 19).
On FreeBSD 14, /usr/include/netlink/netlink.h contains:
0 #define NLMSG_HDRLEN ((int)sizeof(struct nlmsghdr))
On FreeBSD 15, /usr/include/netlink/netlink.h contains:
0 #define NLMSG_HDRLEN (sizeof(struct nlmsghdr))