]> git.ipfire.org Git - thirdparty/iproute2.git/commitdiff
ss: Make struct tcpstat fields 'timer' and 'timeout' unsigned
authorPhil Sutter <phil@nwl.cc>
Thu, 24 Aug 2017 09:41:26 +0000 (11:41 +0200)
committerStephen Hemminger <stephen@networkplumber.org>
Thu, 24 Aug 2017 22:22:09 +0000 (15:22 -0700)
Both 'timer' and 'timeout' variables of struct tcpstat are either
scanned as unsigned values from /proc/net/tcp{,6} or copied from
'idiag_timer' and 'idiag_expries' fields of struct inet_diag_msg, which
itself are unsigned. Therefore they may be unsigned as well, which
eliminates the need to check for negative values.

Signed-off-by: Phil Sutter <phil@nwl.cc>
misc/ss.c

index c197e075116392500da8555b59c6fe2064ac92a4..be498ebe3ba5c70f1ee1057c1f1508b9ca8eb13c 100644 (file)
--- a/misc/ss.c
+++ b/misc/ss.c
@@ -697,8 +697,8 @@ struct dctcpstat {
 
 struct tcpstat {
        struct sockstat     ss;
-       int                 timer;
-       int                 timeout;
+       unsigned int        timer;
+       unsigned int        timeout;
        int                 probes;
        char                cong_alg[16];
        double              rto, ato, rtt, rttvar;
@@ -869,13 +869,11 @@ static void sock_addr_print(const char *addr, char *delim, const char *port,
        sock_addr_print_width(addr_width, addr, delim, serv_width, port, ifname);
 }
 
-static const char *print_ms_timer(int timeout)
+static const char *print_ms_timer(unsigned int timeout)
 {
        static char buf[64];
        int secs, msecs, minutes;
 
-       if (timeout < 0)
-               timeout = 0;
        secs = timeout/1000;
        minutes = secs/60;
        secs = secs%60;