X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Ftcpconns.c;h=b6a3fdda319c8d75a532ab0073f561f6571f3f04;hb=cedb6f147e94d0e952449f731313412ef4d67904;hp=f716a10334b7fbf2c339c16de137940b712782aa;hpb=2421812ea47269c50920414a6e3c32448800120f;p=collectd.git diff --git a/src/tcpconns.c b/src/tcpconns.c index f716a103..b6a3fdda 100644 --- a/src/tcpconns.c +++ b/src/tcpconns.c @@ -419,18 +419,18 @@ static void conn_reset_port_entry (void) /* If this entry was created while reading the files (ant not when handling * the configuration) remove it now. */ if ((pe->flags & (PORT_COLLECT_LOCAL - | PORT_COLLECT_REMOTE - | PORT_IS_LISTENING)) == 0) + | PORT_COLLECT_REMOTE + | PORT_IS_LISTENING)) == 0) { port_entry_t *next = pe->next; DEBUG ("tcpconns plugin: Removing temporary entry " - "for listening port %"PRIu16, pe->port); + "for listening port %"PRIu16, pe->port); if (prev == NULL) - port_list_head = next; + port_list_head = next; else - prev->next = next; + prev->next = next; sfree (pe); pe = next; @@ -442,6 +442,7 @@ static void conn_reset_port_entry (void) memset (pe->count_remote, '\0', sizeof (pe->count_remote)); pe->flags &= ~PORT_IS_LISTENING; + prev = pe; pe = pe->next; } } /* void conn_reset_port_entry */ @@ -951,7 +952,7 @@ static int conn_init (void) static int conn_read (void) { struct inpcbtable table; -#ifdef __OpenBSD__ || __NetBSD_Version__ > 699002700 +#if !defined(__OpenBSD__) && (defined(__NetBSD_Version__) && __NetBSD_Version__ <= 699002700) struct inpcb *head; #endif struct inpcb *next; @@ -966,7 +967,7 @@ static int conn_read (void) if (status != 0) return (-1); -#ifdef __OpenBSD__ || __NetBSD_Version__ > 699002700 +#if defined(__OpenBSD__) || (defined(__NetBSD_Version__) && __NetBSD_Version__ > 699002700) /* inpt_queue is a TAILQ on OpenBSD */ /* Get the first pcb */ next = (struct inpcb *)TAILQ_FIRST (&table.inpt_queue); @@ -984,7 +985,7 @@ static int conn_read (void) kread ((u_long) next, &inpcb, sizeof (inpcb)); /* Advance `next' */ -#ifdef __OpenBSD__ || __NetBSD_Version__ > 699002700 +#if defined(__OpenBSD__) || (defined(__NetBSD_Version__) && __NetBSD_Version__ > 699002700) /* inpt_queue is a TAILQ on OpenBSD */ next = (struct inpcb *)TAILQ_NEXT (&inpcb, inp_queue); #else