1 |
diff -up net-tools-1.60/netstat.c.avoid-name-resolution net-tools-1.60/netstat.c |
2 |
--- net-tools-1.60/netstat.c.avoid-name-resolution 2009-08-28 10:48:40.000000000 +0200 |
3 |
+++ net-tools-1.60/netstat.c 2009-08-14 12:36:56.000000000 +0200 |
4 |
@@ -961,6 +961,10 @@ static void tcp_do_one(int lnr, const ch |
5 |
&d, local_addr, &local_port, rem_addr, &rem_port, &state, |
6 |
&txq, &rxq, &timer_run, &time_len, &retr, &uid, &timeout, &inode, more); |
7 |
|
8 |
+ if (!flag_all && |
9 |
+ ((flag_lst && rem_port) || (!flag_lst && !rem_port))) |
10 |
+ return; |
11 |
+ |
12 |
if (strlen(local_addr) > 8) { |
13 |
#if HAVE_AFINET6 |
14 |
/* Demangle what the kernel gives us */ |
15 |
@@ -1014,7 +1018,7 @@ static void tcp_do_one(int lnr, const ch |
16 |
flag_not & FLAG_NUM_HOST), sizeof(local_addr)); |
17 |
safe_strncpy(rem_addr, ap->sprint((struct sockaddr *) &remaddr, flag_not & FLAG_NUM_HOST), |
18 |
sizeof(rem_addr)); |
19 |
- if (flag_all || (flag_lst && !rem_port) || (!flag_lst && rem_port)) { |
20 |
+ |
21 |
snprintf(buffer, sizeof(buffer), "%s", |
22 |
get_sname(htons(local_port), "tcp", |
23 |
flag_not & FLAG_NUM_PORT)); |
24 |
@@ -1075,7 +1079,6 @@ static void tcp_do_one(int lnr, const ch |
25 |
rxq, txq, local_addr, rem_addr, _(tcp_state[state])); |
26 |
|
27 |
finish_this_one(uid,inode,timers); |
28 |
- } |
29 |
} |
30 |
|
31 |
static int tcp_info(void) |