summaryrefslogtreecommitdiffstats
path: root/usr.bin/sockstat
diff options
context:
space:
mode:
authortuexen <tuexen@FreeBSD.org>2015-08-26 22:50:53 +0000
committertuexen <tuexen@FreeBSD.org>2015-08-26 22:50:53 +0000
commit04611f8b169b5c08e188a46506101305feaa377d (patch)
tree71f5d165020e3b24ada9536fc0ffd3034493d1e1 /usr.bin/sockstat
parent4660922bc1f320e67220fbf241b18c01ab0ad52b (diff)
downloadFreeBSD-src-04611f8b169b5c08e188a46506101305feaa377d.zip
FreeBSD-src-04611f8b169b5c08e188a46506101305feaa377d.tar.gz
Print the status on the first line of a socket description, not at
the last one. This doesn't matter for TCP, but it does for the upcoming SCTP support. PR: 201585 MFC after: 3 weeks
Diffstat (limited to 'usr.bin/sockstat')
-rw-r--r--usr.bin/sockstat/sockstat.c23
1 files changed, 12 insertions, 11 deletions
diff --git a/usr.bin/sockstat/sockstat.c b/usr.bin/sockstat/sockstat.c
index 2861254..4a309cc 100644
--- a/usr.bin/sockstat/sockstat.c
+++ b/usr.bin/sockstat/sockstat.c
@@ -911,7 +911,7 @@ static void
displaysock(struct sock *s, int pos)
{
void *p;
- int hash;
+ int hash, first;
struct addr *laddr, *faddr;
struct sock *s_tmp;
@@ -924,6 +924,7 @@ displaysock(struct sock *s, int pos)
pos += xprintf("6 ");
laddr = s->laddr;
faddr = s->faddr;
+ first = 1;
while (laddr != NULL || faddr != NULL) {
while (pos < 36)
pos += xprintf(" ");
@@ -975,6 +976,14 @@ displaysock(struct sock *s, int pos)
default:
abort();
}
+ if (first && opt_s && s->proto == IPPROTO_TCP) {
+ while (pos < 80)
+ pos += xprintf(" ");
+ if (s->state >= 0 && s->state < TCP_NSTATES)
+ pos += xprintf("%s", tcpstates[s->state]);
+ else
+ pos += xprintf("?");
+ }
if (laddr != NULL)
laddr = laddr->next;
if (faddr != NULL)
@@ -983,15 +992,9 @@ displaysock(struct sock *s, int pos)
xprintf("\n");
pos = 0;
}
+ first = 0;
}
- if (opt_s && s->proto == IPPROTO_TCP) {
- while (pos < 80)
- pos += xprintf(" ");
- if (s->state >= 0 && s->state < TCP_NSTATES)
- pos += xprintf("%s", tcpstates[s->state]);
- else
- pos += xprintf("?");
- }
+ xprintf("\n");
}
static void
@@ -1036,7 +1039,6 @@ display(void)
pos += xprintf(" ");
pos += xprintf("%d ", xf->xf_fd);
displaysock(s, pos);
- xprintf("\n");
}
}
if (opt_j >= 0)
@@ -1051,7 +1053,6 @@ display(void)
pos += xprintf("%-8s %-10s %-5s %-2s ",
"?", "?", "?", "?");
displaysock(s, pos);
- xprintf("\n");
}
}
}
OpenPOWER on IntegriCloud