Make it compilable on FreeBSD 12 after struct inpcb and struct tcpcb were

stopped being exported.
This commit is contained in:
Gleb Smirnoff 2017-03-21 08:26:58 +00:00
parent 7179e712d8
commit 7982d4ecad
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=436572
2 changed files with 19 additions and 0 deletions

View File

@ -3,6 +3,7 @@
PORTNAME= collectd
PORTVERSION= 5.7.1
PORTREVISION= 1
CATEGORIES= net-mgmt
MASTER_SITES= https://collectd.org/files/ \
http://collectd.org/files/

View File

@ -0,0 +1,18 @@
--- src/tcpconns.c.orig 2017-03-21 00:18:33.371554000 -0700
+++ src/tcpconns.c 2017-03-21 00:21:09.631089000 -0700
@@ -745,9 +745,15 @@
for (in_ptr = (struct xinpgen *)(((char *)in_orig) + in_orig->xig_len);
in_ptr->xig_len > sizeof(struct xinpgen);
in_ptr = (struct xinpgen *)(((char *)in_ptr) + in_ptr->xig_len)) {
+#if __FreeBSD_version >= 1200026
+ struct xtcpcb *tp = (struct xtcpcb *)in_ptr;
+ struct xinpcb *inp = &tp->xt_inp;
+ struct xsocket *so = &inp->xi_socket;
+#else
struct tcpcb *tp = &((struct xtcpcb *)in_ptr)->xt_tp;
struct inpcb *inp = &((struct xtcpcb *)in_ptr)->xt_inp;
struct xsocket *so = &((struct xtcpcb *)in_ptr)->xt_socket;
+#endif
/* Ignore non-TCP sockets */
if (so->xso_protocol != IPPROTO_TCP)