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;
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);
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