Author: silby
Date: Wed Sep 23 05:32:33 2009
New Revision: 197425
URL: http://svn.freebsd.org/changeset/base/197425

Log:
  In netstat -x, do not try to print out tcp timer status for udp sockets.

Modified:
  head/usr.bin/netstat/inet.c

Modified: head/usr.bin/netstat/inet.c
==============================================================================
--- head/usr.bin/netstat/inet.c Wed Sep 23 02:45:02 2009        (r197424)
+++ head/usr.bin/netstat/inet.c Wed Sep 23 05:32:33 2009        (r197425)
@@ -355,6 +355,7 @@ protopr(u_long off, const char *name, in
                } else {
                        inp = &((struct xinpcb *)xig)->xi_inp;
                        so = &((struct xinpcb *)xig)->xi_socket;
+                       timer = NULL;
                }
 
                /* Ignore sockets for protocols other than the desired one. */
@@ -425,7 +426,7 @@ protopr(u_long off, const char *name, in
                                        printf("%7.7s %7.7s %7.7s %7.7s %7.7s 
%7.7s %s\n",
                                                "rexmt", "persist", "keep",
                                                "2msl", "delack", "rcvtime",
-                                               "(state)");
+                                               "(state)");
                                } else
                                        printf("(state)\n");
                        }
@@ -529,13 +530,14 @@ protopr(u_long off, const char *name, in
                                       so->so_rcv.sb_lowat, so->so_snd.sb_lowat,
                                       so->so_rcv.sb_mbcnt, so->so_snd.sb_mbcnt,
                                       so->so_rcv.sb_mbmax, 
so->so_snd.sb_mbmax);
-                               printf("%4d.%02d %4d.%02d %4d.%02d %4d.%02d 
%4d.%02d %4d.%02d ",
-                                       timer->tt_rexmt / 1000, 
(timer->tt_rexmt % 1000) / 10,
-                                       timer->tt_persist / 1000, 
(timer->tt_persist % 1000) / 10,
-                                       timer->tt_keep / 1000, (timer->tt_keep 
% 1000) / 10,
-                                       timer->tt_2msl / 1000, (timer->tt_2msl 
% 1000) / 10,
-                                       timer->tt_delack / 1000, 
(timer->tt_delack % 1000) / 10,
-                                       timer->t_rcvtime / 1000, 
(timer->t_rcvtime % 1000) / 10);
+                               if (timer != NULL)
+                                       printf("%4d.%02d %4d.%02d %4d.%02d 
%4d.%02d %4d.%02d %4d.%02d ",
+                                           timer->tt_rexmt / 1000, 
(timer->tt_rexmt % 1000) / 10,
+                                           timer->tt_persist / 1000, 
(timer->tt_persist % 1000) / 10,
+                                           timer->tt_keep / 1000, 
(timer->tt_keep % 1000) / 10,
+                                           timer->tt_2msl / 1000, 
(timer->tt_2msl % 1000) / 10,
+                                           timer->tt_delack / 1000, 
(timer->tt_delack % 1000) / 10,
+                                           timer->t_rcvtime / 1000, 
(timer->t_rcvtime % 1000) / 10);
                        }
                }
                if (istcp && !Lflag) {
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to