Module: monitoring-plugins
 Branch: master
 Commit: 0caa47a50bae586173f40ca7544d4290de0097a5
 Author: RincewindsHat <[email protected]>
   Date: Tue Oct 15 11:44:28 2024 +0200
    URL: 
https://www.monitoring-plugins.org/repositories/monitoring-plugins/commit/?id=0caa47a

check_icmp: clang-format

---

 plugins-root/check_icmp.c | 1525 ++++++++++++++++++++++-----------------------
 1 file changed, 742 insertions(+), 783 deletions(-)

diff --git a/plugins-root/check_icmp.c b/plugins-root/check_icmp.c
index f788d42..5ad1d84 100644
--- a/plugins-root/check_icmp.c
+++ b/plugins-root/check_icmp.c
@@ -1,40 +1,40 @@
 /*****************************************************************************
-*
-* Monitoring check_icmp plugin
-*
-* License: GPL
-* Copyright (c) 2005-2008 Monitoring Plugins Development Team
-* Original Author : Andreas Ericsson <[email protected]>
-*
-* Description:
-*
-* This file contains the check_icmp plugin
-*
-* Relevant RFC's: 792 (ICMP), 791 (IP)
-*
-* This program was modeled somewhat after the check_icmp program,
-* which was in turn a hack of fping (www.fping.org) but has been
-* completely rewritten since to generate higher precision rta values,
-* and support several different modes as well as setting ttl to control.
-* redundant routes. The only remainders of fping is currently a few
-* function names.
-*
-*
-* This program is free software: you can redistribute it and/or modify
-* it under the terms of the GNU General Public License as published by
-* the Free Software Foundation, either version 3 of the License, or
-* (at your option) any later version.
-*
-* This program is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-* GNU General Public License for more details.
-*
-* You should have received a copy of the GNU General Public License
-* along with this program.  If not, see <http://www.gnu.org/licenses/>.
-*
-*
-*****************************************************************************/
+ *
+ * Monitoring check_icmp plugin
+ *
+ * License: GPL
+ * Copyright (c) 2005-2008 Monitoring Plugins Development Team
+ * Original Author : Andreas Ericsson <[email protected]>
+ *
+ * Description:
+ *
+ * This file contains the check_icmp plugin
+ *
+ * Relevant RFC's: 792 (ICMP), 791 (IP)
+ *
+ * This program was modeled somewhat after the check_icmp program,
+ * which was in turn a hack of fping (www.fping.org) but has been
+ * completely rewritten since to generate higher precision rta values,
+ * and support several different modes as well as setting ttl to control.
+ * redundant routes. The only remainders of fping is currently a few
+ * function names.
+ *
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ *
+ *
+ *****************************************************************************/
 
 /* progname may change */
 /* char *progname = "check_icmp"; */
@@ -48,7 +48,7 @@ const char *email = "[email protected]";
 #include "utils.h"
 
 #if HAVE_SYS_SOCKIO_H
-#include <sys/sockio.h>
+#      include <sys/sockio.h>
 #endif
 
 #include <sys/time.h>
@@ -65,84 +65,83 @@ const char *email = "[email protected]";
 #include <netinet/icmp6.h>
 #include <arpa/inet.h>
 
-
 /** sometimes undefined system macros (quite a few, actually) **/
 #ifndef MAXTTL
-# define MAXTTL        255
+#      define MAXTTL 255
 #endif
 #ifndef INADDR_NONE
-# define INADDR_NONE (in_addr_t)(-1)
+#      define INADDR_NONE (in_addr_t)(-1)
 #endif
 
 #ifndef SOL_IP
-#define SOL_IP 0
+#      define SOL_IP 0
 #endif
 
 /* we bundle these in one #ifndef, since they're all from BSD
  * Put individual #ifndef's around those that bother you */
 #ifndef ICMP_UNREACH_NET_UNKNOWN
-# define ICMP_UNREACH_NET_UNKNOWN 6
-# define ICMP_UNREACH_HOST_UNKNOWN 7
-# define ICMP_UNREACH_ISOLATED 8
-# define ICMP_UNREACH_NET_PROHIB 9
-# define ICMP_UNREACH_HOST_PROHIB 10
-# define ICMP_UNREACH_TOSNET 11
-# define ICMP_UNREACH_TOSHOST 12
+#      define ICMP_UNREACH_NET_UNKNOWN  6
+#      define ICMP_UNREACH_HOST_UNKNOWN 7
+#      define ICMP_UNREACH_ISOLATED     8
+#      define ICMP_UNREACH_NET_PROHIB   9
+#      define ICMP_UNREACH_HOST_PROHIB  10
+#      define ICMP_UNREACH_TOSNET       11
+#      define ICMP_UNREACH_TOSHOST      12
 #endif
 /* tru64 has the ones above, but not these */
 #ifndef ICMP_UNREACH_FILTER_PROHIB
-# define ICMP_UNREACH_FILTER_PROHIB 13
-# define ICMP_UNREACH_HOST_PRECEDENCE 14
-# define ICMP_UNREACH_PRECEDENCE_CUTOFF 15
+#      define ICMP_UNREACH_FILTER_PROHIB     13
+#      define ICMP_UNREACH_HOST_PRECEDENCE   14
+#      define ICMP_UNREACH_PRECEDENCE_CUTOFF 15
 #endif
 
-typedef unsigned short range_t;  /* type for get_range() -- unimplemented */
+typedef unsigned short range_t; /* type for get_range() -- unimplemented */
 
 typedef struct rta_host {
-       unsigned short id;           /* id in **table, and icmp pkts */
-       char *name;                  /* arg used for adding this host */
-       char *msg;                   /* icmp error message, if any */
-       struct sockaddr_storage saddr_in;     /* the address of this host */
-       struct sockaddr_storage error_addr;   /* stores address of error 
replies */
-       unsigned long long time_waited; /* total time waited, in usecs */
+       unsigned short id;                            /* id in **table, and 
icmp pkts */
+       char *name;                                   /* arg used for adding 
this host */
+       char *msg;                                    /* icmp error message, if 
any */
+       struct sockaddr_storage saddr_in;             /* the address of this 
host */
+       struct sockaddr_storage error_addr;           /* stores address of 
error replies */
+       unsigned long long time_waited;               /* total time waited, in 
usecs */
        unsigned int icmp_sent, icmp_recv, icmp_lost; /* counters */
-       unsigned char icmp_type, icmp_code; /* type and code from errors */
-       unsigned short flags;        /* control/status flags */
-       double rta;                  /* measured RTA */
-       int rta_status;              // check result for RTA checks
-       double rtmax;                /* max rtt */
-       double rtmin;                /* min rtt */
-       double jitter;               /* measured jitter */
-       int jitter_status;           // check result for Jitter checks
-       double jitter_max;           /* jitter rtt maximum */
-       double jitter_min;           /* jitter rtt minimum */
+       unsigned char icmp_type, icmp_code;           /* type and code from 
errors */
+       unsigned short flags;                         /* control/status flags */
+       double rta;                                   /* measured RTA */
+       int rta_status;                               // check result for RTA 
checks
+       double rtmax;                                 /* max rtt */
+       double rtmin;                                 /* min rtt */
+       double jitter;                                /* measured jitter */
+       int jitter_status;                            // check result for 
Jitter checks
+       double jitter_max;                            /* jitter rtt maximum */
+       double jitter_min;                            /* jitter rtt minimum */
        double EffectiveLatency;
-       double mos;                  /* Mean opnion score */
-       int mos_status;              // check result for MOS checks
-       double  score;               /* score */
-       int score_status;            // check result for score checks
+       double mos;       /* Mean opnion score */
+       int mos_status;   // check result for MOS checks
+       double score;     /* score */
+       int score_status; // check result for score checks
        u_int last_tdiff;
-       u_int last_icmp_seq;         /* Last ICMP_SEQ to check out of order 
pkts */
-       unsigned char pl;            /* measured packet loss */
-       int pl_status;               // check result for packet loss checks
-       struct rta_host *next;       /* linked list */
-       int order_status;            // check result for packet order checks
+       u_int last_icmp_seq;   /* Last ICMP_SEQ to check out of order pkts */
+       unsigned char pl;      /* measured packet loss */
+       int pl_status;         // check result for packet loss checks
+       struct rta_host *next; /* linked list */
+       int order_status;      // check result for packet order checks
 } rta_host;
 
-#define FLAG_LOST_CAUSE 0x01  /* decidedly dead target. */
+#define FLAG_LOST_CAUSE 0x01 /* decidedly dead target. */
 
 /* threshold structure. all values are maximum allowed, exclusive */
 typedef struct threshold {
-       unsigned char pl;                       /* max allowed packet loss in 
percent */
-       unsigned int rta;                       /* roundtrip time average, 
microseconds */
-       double jitter;  /* jitter time average, microseconds */
-       double mos;                     /* MOS */
-       double score;           /* Score */
+       unsigned char pl; /* max allowed packet loss in percent */
+       unsigned int rta; /* roundtrip time average, microseconds */
+       double jitter;    /* jitter time average, microseconds */
+       double mos;       /* MOS */
+       double score;     /* Score */
 } threshold;
 
 /* the data structure */
 typedef struct icmp_ping_data {
-       struct timeval stime;   /* timestamp (saved in protocol struct as well) 
*/
+       struct timeval stime; /* timestamp (saved in protocol struct as well) */
        unsigned short ping_id;
 } icmp_ping_data;
 
@@ -171,48 +170,42 @@ typedef union icmp_packet {
  * MODE_ICMP: implement something similar to check_icmp (MODE_RTA without
  *            tcp and udp args does this)
  */
-#define MODE_RTA 0
+#define MODE_RTA       0
 #define MODE_HOSTCHECK 1
-#define MODE_ALL 2
-#define MODE_ICMP 3
+#define MODE_ALL       2
+#define MODE_ICMP      3
 
-enum enum_threshold_mode {
-       const_rta_mode,
-       const_packet_loss_mode,
-       const_jitter_mode,
-       const_mos_mode,
-       const_score_mode
-};
+enum enum_threshold_mode { const_rta_mode, const_packet_loss_mode, 
const_jitter_mode, const_mos_mode, const_score_mode };
 
 typedef enum enum_threshold_mode threshold_mode;
 
 /* the different ping types we can do
  * TODO: investigate ARP ping as well */
 #define HAVE_ICMP 1
-#define HAVE_UDP 2
-#define HAVE_TCP 4
-#define HAVE_ARP 8
-
-#define MIN_PING_DATA_SIZE sizeof(struct icmp_ping_data)
-#define MAX_IP_PKT_SIZE 65536  /* (theoretical) max IP packet size */
-#define IP_HDR_SIZE 20
-#define MAX_PING_DATA (MAX_IP_PKT_SIZE - IP_HDR_SIZE - ICMP_MINLEN)
+#define HAVE_UDP  2
+#define HAVE_TCP  4
+#define HAVE_ARP  8
+
+#define MIN_PING_DATA_SIZE     sizeof(struct icmp_ping_data)
+#define MAX_IP_PKT_SIZE        65536 /* (theoretical) max IP packet size */
+#define IP_HDR_SIZE            20
+#define MAX_PING_DATA          (MAX_IP_PKT_SIZE - IP_HDR_SIZE - ICMP_MINLEN)
 #define DEFAULT_PING_DATA_SIZE (MIN_PING_DATA_SIZE + 44)
 
 /* various target states */
-#define TSTATE_INACTIVE 0x01   /* don't ping this host anymore */
-#define TSTATE_WAITING 0x02            /* unanswered packets on the wire */
-#define TSTATE_ALIVE 0x04       /* target is alive (has answered something) */
-#define TSTATE_UNREACH 0x08
+#define TSTATE_INACTIVE 0x01 /* don't ping this host anymore */
+#define TSTATE_WAITING  0x02 /* unanswered packets on the wire */
+#define TSTATE_ALIVE    0x04 /* target is alive (has answered something) */
+#define TSTATE_UNREACH  0x08
 
 /** prototypes **/
-void print_help (void);
-void print_usage (void);
+void print_help(void);
+void print_usage(void);
 static u_int get_timevar(const char *);
 static u_int get_timevaldiff(struct timeval *, struct timeval *);
 static in_addr_t get_ip_address(const char *);
 static int wait_for_reply(int, u_int);
-static int recvfrom_wto(int, void *, unsigned int, struct sockaddr *, u_int *, 
struct timeval*);
+static int recvfrom_wto(int, void *, unsigned int, struct sockaddr *, u_int *, 
struct timeval *);
 static int send_icmp_ping(int, struct rta_host *);
 static int get_threshold(char *str, threshold *th);
 static bool get_threshold2(char *str, size_t length, threshold *, threshold *, 
threshold_mode mode);
@@ -235,20 +228,8 @@ extern char **environ;
 /** global variables **/
 static struct rta_host **table, *cursor, *list;
 
-static threshold crit = {
-       .pl = 80,
-       .rta = 500000,
-       .jitter = 0.0,
-       .mos = 0.0,
-       .score = 0.0
-};
-static threshold warn = {
-       .pl = 40,
-       .rta = 200000,
-       .jitter = 0.0,
-       .mos = 0.0,
-       .score = 0.0
-};
+static threshold crit = {.pl = 80, .rta = 500000, .jitter = 0.0, .mos = 0.0, 
.score = 0.0};
+static threshold warn = {.pl = 40, .rta = 200000, .jitter = 0.0, .mos = 0.0, 
.score = 0.0};
 
 static int mode, protocols, sockets, debug = 0, timeout = 10;
 static unsigned short icmp_data_size = DEFAULT_PING_DATA_SIZE;
@@ -268,17 +249,15 @@ static unsigned int warn_down = 1, crit_down = 1; /* host 
down threshold values
 static int min_hosts_alive = -1;
 float pkt_backoff_factor = 1.5;
 float target_backoff_factor = 1.5;
-bool rta_mode=false;
-bool pl_mode=false;
-bool jitter_mode=false;
-bool score_mode=false;
-bool mos_mode=false;
-bool order_mode=false;
+bool rta_mode = false;
+bool pl_mode = false;
+bool jitter_mode = false;
+bool score_mode = false;
+bool mos_mode = false;
+bool order_mode = false;
 
 /** code start **/
-static void
-crash(const char *fmt, ...)
-{
+static void crash(const char *fmt, ...) {
        va_list ap;
 
        printf("%s: ", progname);
@@ -287,55 +266,100 @@ crash(const char *fmt, ...)
        vprintf(fmt, ap);
        va_end(ap);
 
-       if(errno) printf(": %s", strerror(errno));
+       if (errno)
+               printf(": %s", strerror(errno));
        puts("");
 
        exit(3);
 }
 
-
-static const char *
-get_icmp_error_msg(unsigned char icmp_type, unsigned char icmp_code)
-{
+static const char *get_icmp_error_msg(unsigned char icmp_type, unsigned char 
icmp_code) {
        const char *msg = "unreachable";
 
-       if(debug > 1) printf("get_icmp_error_msg(%u, %u)\n", icmp_type, 
icmp_code);
-       switch(icmp_type) {
+       if (debug > 1)
+               printf("get_icmp_error_msg(%u, %u)\n", icmp_type, icmp_code);
+       switch (icmp_type) {
        case ICMP_UNREACH:
-               switch(icmp_code) {
-               case ICMP_UNREACH_NET: msg = "Net unreachable"; break;
-               case ICMP_UNREACH_HOST: msg = "Host unreachable"; break;
-               case ICMP_UNREACH_PROTOCOL: msg = "Protocol unreachable 
(firewall?)"; break;
-               case ICMP_UNREACH_PORT: msg = "Port unreachable (firewall?)"; 
break;
-               case ICMP_UNREACH_NEEDFRAG: msg = "Fragmentation needed"; break;
-               case ICMP_UNREACH_SRCFAIL: msg = "Source route failed"; break;
-               case ICMP_UNREACH_ISOLATED: msg = "Source host isolated"; break;
-               case ICMP_UNREACH_NET_UNKNOWN: msg = "Unknown network"; break;
-               case ICMP_UNREACH_HOST_UNKNOWN: msg = "Unknown host"; break;
-               case ICMP_UNREACH_NET_PROHIB: msg = "Network denied 
(firewall?)"; break;
-               case ICMP_UNREACH_HOST_PROHIB: msg = "Host denied (firewall?)"; 
break;
-               case ICMP_UNREACH_TOSNET: msg = "Bad TOS for network 
(firewall?)"; break;
-               case ICMP_UNREACH_TOSHOST: msg = "Bad TOS for host 
(firewall?)"; break;
-               case ICMP_UNREACH_FILTER_PROHIB: msg = "Prohibited by filter 
(firewall)"; break;
-               case ICMP_UNREACH_HOST_PRECEDENCE: msg = "Host precedence 
violation"; break;
-               case ICMP_UNREACH_PRECEDENCE_CUTOFF: msg = "Precedence cutoff"; 
break;
-               default: msg = "Invalid code"; break;
+               switch (icmp_code) {
+               case ICMP_UNREACH_NET:
+                       msg = "Net unreachable";
+                       break;
+               case ICMP_UNREACH_HOST:
+                       msg = "Host unreachable";
+                       break;
+               case ICMP_UNREACH_PROTOCOL:
+                       msg = "Protocol unreachable (firewall?)";
+                       break;
+               case ICMP_UNREACH_PORT:
+                       msg = "Port unreachable (firewall?)";
+                       break;
+               case ICMP_UNREACH_NEEDFRAG:
+                       msg = "Fragmentation needed";
+                       break;
+               case ICMP_UNREACH_SRCFAIL:
+                       msg = "Source route failed";
+                       break;
+               case ICMP_UNREACH_ISOLATED:
+                       msg = "Source host isolated";
+                       break;
+               case ICMP_UNREACH_NET_UNKNOWN:
+                       msg = "Unknown network";
+                       break;
+               case ICMP_UNREACH_HOST_UNKNOWN:
+                       msg = "Unknown host";
+                       break;
+               case ICMP_UNREACH_NET_PROHIB:
+                       msg = "Network denied (firewall?)";
+                       break;
+               case ICMP_UNREACH_HOST_PROHIB:
+                       msg = "Host denied (firewall?)";
+                       break;
+               case ICMP_UNREACH_TOSNET:
+                       msg = "Bad TOS for network (firewall?)";
+                       break;
+               case ICMP_UNREACH_TOSHOST:
+                       msg = "Bad TOS for host (firewall?)";
+                       break;
+               case ICMP_UNREACH_FILTER_PROHIB:
+                       msg = "Prohibited by filter (firewall)";
+                       break;
+               case ICMP_UNREACH_HOST_PRECEDENCE:
+                       msg = "Host precedence violation";
+                       break;
+               case ICMP_UNREACH_PRECEDENCE_CUTOFF:
+                       msg = "Precedence cutoff";
+                       break;
+               default:
+                       msg = "Invalid code";
+                       break;
                }
                break;
 
        case ICMP_TIMXCEED:
                /* really 'out of reach', or non-existent host behind a router 
serving
                 * two different subnets */
-               switch(icmp_code) {
-               case ICMP_TIMXCEED_INTRANS: msg = "Time to live exceeded in 
transit"; break;
-               case ICMP_TIMXCEED_REASS: msg = "Fragment reassembly time 
exceeded"; break;
-               default: msg = "Invalid code"; break;
+               switch (icmp_code) {
+               case ICMP_TIMXCEED_INTRANS:
+                       msg = "Time to live exceeded in transit";
+                       break;
+               case ICMP_TIMXCEED_REASS:
+                       msg = "Fragment reassembly time exceeded";
+                       break;
+               default:
+                       msg = "Invalid code";
+                       break;
                }
                break;
 
-       case ICMP_SOURCEQUENCH: msg = "Transmitting too fast"; break;
-       case ICMP_REDIRECT: msg = "Redirect (change route)"; break;
-       case ICMP_PARAMPROB: msg = "Bad IP header (required option absent)"; 
break;
+       case ICMP_SOURCEQUENCH:
+               msg = "Transmitting too fast";
+               break;
+       case ICMP_REDIRECT:
+               msg = "Redirect (change route)";
+               break;
+       case ICMP_PARAMPROB:
+               msg = "Bad IP header (required option absent)";
+               break;
 
                /* the following aren't error messages, so ignore */
        case ICMP_TSTAMP:
@@ -344,25 +368,26 @@ get_icmp_error_msg(unsigned char icmp_type, unsigned char 
icmp_code)
        case ICMP_IREQREPLY:
        case ICMP_MASKREQ:
        case ICMP_MASKREPLY:
-       default: msg = ""; break;
+       default:
+               msg = "";
+               break;
        }
 
        return msg;
 }
 
-static int
-handle_random_icmp(unsigned char *packet, struct sockaddr_storage *addr)
-{
+static int handle_random_icmp(unsigned char *packet, struct sockaddr_storage 
*addr) {
        struct icmp p, sent_icmp;
        struct rta_host *host = NULL;
 
        memcpy(&p, packet, sizeof(p));
-       if(p.icmp_type == ICMP_ECHO && ntohs(p.icmp_id) == pid) {
+       if (p.icmp_type == ICMP_ECHO && ntohs(p.icmp_id) == pid) {
                /* echo request from us to us (pinging localhost) */
                return 0;
        }
 
-       if(debug) printf("handle_random_icmp(%p, %p)\n", (void *)&p, (void 
*)addr);
+       if (debug)
+               printf("handle_random_icmp(%p, %p)\n", (void *)&p, (void 
*)addr);
 
        /* only handle a few types, since others can't possibly be replies to
         * us in a sane network (if it is anyway, it will be counted as lost
@@ -374,44 +399,39 @@ handle_random_icmp(unsigned char *packet, struct 
sockaddr_storage *addr)
         * TIMXCEED actually sends a proper icmp response we will have passed
         * too many hops to have a hope of reaching it later, in which case it
         * indicates overconfidence in the network, poor routing or both. */
-       if(p.icmp_type != ICMP_UNREACH && p.icmp_type != ICMP_TIMXCEED &&
-          p.icmp_type != ICMP_SOURCEQUENCH && p.icmp_type != ICMP_PARAMPROB)
-       {
+       if (p.icmp_type != ICMP_UNREACH && p.icmp_type != ICMP_TIMXCEED && 
p.icmp_type != ICMP_SOURCEQUENCH && p.icmp_type != ICMP_PARAMPROB) {
                return 0;
        }
 
        /* might be for us. At least it holds the original package (according
         * to RFC 792). If it isn't, just ignore it */
        memcpy(&sent_icmp, packet + 28, sizeof(sent_icmp));
-       if(sent_icmp.icmp_type != ICMP_ECHO || ntohs(sent_icmp.icmp_id) != pid 
||
-          ntohs(sent_icmp.icmp_seq) >= targets*packets)
-       {
-               if(debug) printf("Packet is no response to a packet we sent\n");
+       if (sent_icmp.icmp_type != ICMP_ECHO || ntohs(sent_icmp.icmp_id) != pid 
|| ntohs(sent_icmp.icmp_seq) >= targets * packets) {
+               if (debug)
+                       printf("Packet is no response to a packet we sent\n");
                return 0;
        }
 
        /* it is indeed a response for us */
-       host = table[ntohs(sent_icmp.icmp_seq)/packets];
-       if(debug) {
+       host = table[ntohs(sent_icmp.icmp_seq) / packets];
+       if (debug) {
                char address[INET6_ADDRSTRLEN];
                parse_address(addr, address, sizeof(address));
-               printf("Received \"%s\" from %s for ICMP ECHO sent to %s.\n",
-                       get_icmp_error_msg(p.icmp_type, p.icmp_code),
-                       address, host->name);
+               printf("Received \"%s\" from %s for ICMP ECHO sent to %s.\n", 
get_icmp_error_msg(p.icmp_type, p.icmp_code), address, host->name);
        }
 
        icmp_lost++;
        host->icmp_lost++;
        /* don't spend time on lost hosts any more */
-       if(host->flags & FLAG_LOST_CAUSE) return 0;
+       if (host->flags & FLAG_LOST_CAUSE)
+               return 0;
 
        /* source quench means we're sending too fast, so increase the
         * interval and mark this packet lost */
-       if(p.icmp_type == ICMP_SOURCEQUENCH) {
+       if (p.icmp_type == ICMP_SOURCEQUENCH) {
                pkt_interval *= pkt_backoff_factor;
                target_interval *= target_backoff_factor;
-       }
-       else {
+       } else {
                targets_down++;
                host->flags |= FLAG_LOST_CAUSE;
        }
@@ -422,21 +442,18 @@ handle_random_icmp(unsigned char *packet, struct 
sockaddr_storage *addr)
        return 0;
 }
 
-void parse_address(struct sockaddr_storage *addr, char *address, int size)
-{
+void parse_address(struct sockaddr_storage *addr, char *address, int size) {
        switch (address_family) {
        case AF_INET:
                inet_ntop(address_family, &((struct sockaddr_in 
*)addr)->sin_addr, address, size);
-       break;
+               break;
        case AF_INET6:
                inet_ntop(address_family, &((struct sockaddr_in6 
*)addr)->sin6_addr, address, size);
-       break;
+               break;
        }
 }
 
-int
-main(int argc, char **argv)
-{
+int main(int argc, char **argv) {
        int i;
        char *ptr;
        long int arg;
@@ -450,10 +467,10 @@ main(int argc, char **argv)
        int on = 1;
 #endif
        char *source_ip = NULL;
-       char * opts_str = "vhVw:c:n:p:t:H:s:i:b:I:l:m:P:R:J:S:M:O64";
-       setlocale (LC_ALL, "");
-       bindtextdomain (PACKAGE, LOCALEDIR);
-       textdomain (PACKAGE);
+       char *opts_str = "vhVw:c:n:p:t:H:s:i:b:I:l:m:P:R:J:S:M:O64";
+       setlocale(LC_ALL, "");
+       bindtextdomain(PACKAGE, LOCALEDIR);
+       textdomain(PACKAGE);
 
        /* we only need to be setsuid when we get the sockets, so do
         * that before pointer magic (esp. on network data) */
@@ -465,8 +482,10 @@ main(int argc, char **argv)
        /* get calling name the old-fashioned way for portability instead
         * of relying on the glibc-ism __progname */
        ptr = strrchr(argv[0], '/');
-       if(ptr) progname = &ptr[1];
-       else progname = argv[0];
+       if (ptr)
+               progname = &ptr[1];
+       else
+               progname = argv[0];
 
        /* now set defaults. Use progname to set them initially (allows for
         * superfast check_host program when target host is up */
@@ -478,31 +497,29 @@ main(int argc, char **argv)
        crit.rta = 500000;
        crit.pl = 80;
        crit.jitter = 50;
-       crit.mos= 3;
-       crit.score=70;
+       crit.mos = 3;
+       crit.score = 70;
        /* Default warning thresholds */
        warn.rta = 200000;
        warn.pl = 40;
        warn.jitter = 40;
-       warn.mos= 3.5;
-       warn.score=80;
+       warn.mos = 3.5;
+       warn.score = 80;
 
        protocols = HAVE_ICMP | HAVE_UDP | HAVE_TCP;
-       pkt_interval = 80000;  /* 80 msec packet interval by default */
+       pkt_interval = 80000; /* 80 msec packet interval by default */
        packets = 5;
 
-       if(!strcmp(progname, "check_icmp") || !strcmp(progname, "check_ping")) {
+       if (!strcmp(progname, "check_icmp") || !strcmp(progname, "check_ping")) 
{
                mode = MODE_ICMP;
                protocols = HAVE_ICMP;
-       }
-       else if(!strcmp(progname, "check_host")) {
+       } else if (!strcmp(progname, "check_host")) {
                mode = MODE_HOSTCHECK;
                pkt_interval = 1000000;
                packets = 5;
                crit.rta = warn.rta = 1000000;
                crit.pl = warn.pl = 100;
-       }
-       else if(!strcmp(progname, "check_rta_multi")) {
+       } else if (!strcmp(progname, "check_rta_multi")) {
                mode = MODE_ALL;
                target_interval = 0;
                pkt_interval = 50000;
@@ -510,17 +527,17 @@ main(int argc, char **argv)
        }
 
        /* support "--help" and "--version" */
-       if(argc == 2) {
-               if(!strcmp(argv[1], "--help"))
+       if (argc == 2) {
+               if (!strcmp(argv[1], "--help"))
                        strcpy(argv[1], "-h");
-               if(!strcmp(argv[1], "--version"))
+               if (!strcmp(argv[1], "--version"))
                        strcpy(argv[1], "-V");
        }
 
        /* Parse protocol arguments first */
-       for(i = 1; i < argc; i++) {
-               while((arg = getopt(argc, argv, opts_str)) != EOF) {
-                       switch(arg) {
+       for (i = 1; i < argc; i++) {
+               while ((arg = getopt(argc, argv, opts_str)) != EOF) {
+                       switch (arg) {
                        case '4':
                                if (address_family != -1)
                                        crash("Multiple protocol versions not 
supported");
@@ -532,7 +549,7 @@ main(int argc, char **argv)
                                        crash("Multiple protocol versions not 
supported");
                                address_family = AF_INET6;
 #else
-                               usage (_("IPv6 support not available\n"));
+                               usage(_("IPv6 support not available\n"));
 #endif
                                break;
                        }
@@ -545,22 +562,19 @@ main(int argc, char **argv)
        unsigned long size;
        bool err;
        /* parse the arguments */
-       for(i = 1; i < argc; i++) {
-               while((arg = getopt(argc, argv, opts_str)) != EOF) {
-                       switch(arg) {
+       for (i = 1; i < argc; i++) {
+               while ((arg = getopt(argc, argv, opts_str)) != EOF) {
+                       switch (arg) {
                        case 'v':
                                debug++;
                                break;
                        case 'b':
-                               size = strtol(optarg,NULL,0);
-                               if (size >= (sizeof(struct icmp) + 
sizeof(struct icmp_ping_data)) &&
-                                   size < MAX_PING_DATA) {
+                               size = strtol(optarg, NULL, 0);
+                               if (size >= (sizeof(struct icmp) + 
sizeof(struct icmp_ping_data)) && size < MAX_PING_DATA) {
                                        icmp_data_size = size;
                                        icmp_pkt_size = size + ICMP_MINLEN;
                                } else
-                                       usage_va("ICMP data length must be 
between: %lu and %lu",
-                                                sizeof(struct icmp) + 
sizeof(struct icmp_ping_data),
-                                                MAX_PING_DATA - 1);
+                                       usage_va("ICMP data length must be 
between: %lu and %lu", sizeof(struct icmp) + sizeof(struct icmp_ping_data), 
MAX_PING_DATA - 1);
                                break;
                        case 'i':
                                pkt_interval = get_timevar(optarg);
@@ -580,7 +594,8 @@ main(int argc, char **argv)
                                break;
                        case 't':
                                timeout = strtoul(optarg, NULL, 0);
-                               if(!timeout) timeout = 10;
+                               if (!timeout)
+                                       timeout = 10;
                                break;
                        case 'H':
                                add_target(optarg);
@@ -593,7 +608,7 @@ main(int argc, char **argv)
                                break;
                        case 'd': /* implement later, for cluster checks */
                                warn_down = (unsigned char)strtoul(optarg, 
&ptr, 0);
-                               if(ptr) {
+                               if (ptr) {
                                        crit_down = (unsigned char)strtoul(ptr 
+ 1, NULL, 0);
                                }
                                break;
@@ -601,54 +616,54 @@ main(int argc, char **argv)
                                source_ip = optarg;
                                break;
                        case 'V': /* version */
-                               print_revision (progname, NP_VERSION);
-                               exit (STATE_UNKNOWN);
+                               print_revision(progname, NP_VERSION);
+                               exit(STATE_UNKNOWN);
                        case 'h': /* help */
-                               print_help ();
-                               exit (STATE_UNKNOWN);
+                               print_help();
+                               exit(STATE_UNKNOWN);
                                break;
                        case 'R': /* RTA mode */
                                err = get_threshold2(optarg, strlen(optarg), 
&warn, &crit, const_rta_mode);
                                if (!err) {
-                                               crash("Failed to parse RTA 
threshold");
+                                       crash("Failed to parse RTA threshold");
                                }
 
-                               rta_mode=true;
+                               rta_mode = true;
                                break;
                        case 'P': /* packet loss mode */
                                err = get_threshold2(optarg, strlen(optarg), 
&warn, &crit, const_packet_loss_mode);
                                if (!err) {
-                                               crash("Failed to parse packet 
loss threshold");
+                                       crash("Failed to parse packet loss 
threshold");
                                }
 
-                               pl_mode=true;
+                               pl_mode = true;
                                break;
                        case 'J': /* jitter mode */
                                err = get_threshold2(optarg, strlen(optarg), 
&warn, &crit, const_jitter_mode);
                                if (!err) {
-                                               crash("Failed to parse jitter 
threshold");
+                                       crash("Failed to parse jitter 
threshold");
                                }
 
-                               jitter_mode=true;
+                               jitter_mode = true;
                                break;
                        case 'M': /* MOS mode */
                                err = get_threshold2(optarg, strlen(optarg), 
&warn, &crit, const_mos_mode);
                                if (!err) {
-                                               crash("Failed to parse MOS 
threshold");
+                                       crash("Failed to parse MOS threshold");
                                }
 
-                               mos_mode=true;
+                               mos_mode = true;
                                break;
                        case 'S': /* score mode */
                                err = get_threshold2(optarg, strlen(optarg), 
&warn, &crit, const_score_mode);
                                if (!err) {
-                                               crash("Failed to parse score 
threshold");
+                                       crash("Failed to parse score 
threshold");
                                }
 
-                               score_mode=true;
+                               score_mode = true;
                                break;
                        case 'O': /* out of order mode */
-                               order_mode=true;
+                               order_mode = true;
                                break;
                        }
                }
@@ -663,37 +678,42 @@ main(int argc, char **argv)
        /* printf("pid = %u\n", pid); */
 
        /* Parse extra opts if any */
-       argv=np_extra_opts(&argc, argv, progname);
+       argv = np_extra_opts(&argc, argv, progname);
 
        argv = &argv[optind];
-       while(*argv) {
+       while (*argv) {
                add_target(*argv);
                argv++;
        }
 
-       if(!targets) {
+       if (!targets) {
                errno = 0;
                crash("No hosts to check");
        }
 
        // add_target might change address_family
-       switch ( address_family ){
-               case AF_INET:   icmp_proto = IPPROTO_ICMP;
-                               break;
-               case AF_INET6:  icmp_proto = IPPROTO_ICMPV6;
-                               break;
-               default:        crash("Address family not supported");
+       switch (address_family) {
+       case AF_INET:
+               icmp_proto = IPPROTO_ICMP;
+               break;
+       case AF_INET6:
+               icmp_proto = IPPROTO_ICMPV6;
+               break;
+       default:
+               crash("Address family not supported");
        }
-       if((icmp_sock = socket(address_family, SOCK_RAW, icmp_proto)) != -1)
+       if ((icmp_sock = socket(address_family, SOCK_RAW, icmp_proto)) != -1)
                sockets |= HAVE_ICMP;
-       else icmp_sockerrno = errno;
+       else
+               icmp_sockerrno = errno;
 
-       if( source_ip )
+       if (source_ip)
                set_source_ip(source_ip);
 
 #ifdef SO_TIMESTAMP
-       if(setsockopt(icmp_sock, SOL_SOCKET, SO_TIMESTAMP, &on, sizeof(on)))
-         if(debug) printf("Warning: no SO_TIMESTAMP support\n");
+       if (setsockopt(icmp_sock, SOL_SOCKET, SO_TIMESTAMP, &on, sizeof(on)))
+               if (debug)
+                       printf("Warning: no SO_TIMESTAMP support\n");
 #endif // SO_TIMESTAMP
 
        /* now drop privileges (no effect if not setsuid or geteuid() == 0) */
@@ -702,8 +722,8 @@ main(int argc, char **argv)
                return 1;
        }
 
-       if(!sockets) {
-               if(icmp_sock == -1) {
+       if (!sockets) {
+               if (icmp_sock == -1) {
                        errno = icmp_sockerrno;
                        crash("Failed to obtain ICMP socket");
                        return -1;
@@ -719,13 +739,16 @@ main(int argc, char **argv)
                /*      return -1; */
                /* } */
        }
-       if(!ttl) ttl = 64;
+       if (!ttl)
+               ttl = 64;
 
-       if(icmp_sock) {
+       if (icmp_sock) {
                result = setsockopt(icmp_sock, SOL_IP, IP_TTL, &ttl, 
sizeof(ttl));
-               if(debug) {
-                       if(result == -1) printf("setsockopt failed\n");
-                       else printf("ttl set to %u\n", ttl);
+               if (debug) {
+                       if (result == -1)
+                               printf("setsockopt failed\n");
+                       else
+                               printf("ttl set to %u\n", ttl);
                }
        }
 
@@ -733,85 +756,82 @@ main(int argc, char **argv)
         * (nothing will break if they do), but some anal plugin maintainer
         * will probably add some printf() thing here later, so it might be
         * best to at least show them where to do it. ;) */
-       if(warn.pl > crit.pl) warn.pl = crit.pl;
-       if(warn.rta > crit.rta) warn.rta = crit.rta;
-       if(warn_down > crit_down) crit_down = warn_down;
-       if(warn.jitter > crit.jitter) crit.jitter = warn.jitter;
-       if(warn.mos < crit.mos) warn.mos = crit.mos;
-       if(warn.score < crit.score) warn.score = crit.score;
+       if (warn.pl > crit.pl)
+               warn.pl = crit.pl;
+       if (warn.rta > crit.rta)
+               warn.rta = crit.rta;
+       if (warn_down > crit_down)
+               crit_down = warn_down;
+       if (warn.jitter > crit.jitter)
+               crit.jitter = warn.jitter;
+       if (warn.mos < crit.mos)
+               warn.mos = crit.mos;
+       if (warn.score < crit.score)
+               warn.score = crit.score;
 
 #ifdef HAVE_SIGACTION
        sig_action.sa_sigaction = NULL;
        sig_action.sa_handler = finish;
        sigfillset(&sig_action.sa_mask);
-       sig_action.sa_flags = SA_NODEFER|SA_RESTART;
+       sig_action.sa_flags = SA_NODEFER | SA_RESTART;
        sigaction(SIGINT, &sig_action, NULL);
        sigaction(SIGHUP, &sig_action, NULL);
        sigaction(SIGTERM, &sig_action, NULL);
        sigaction(SIGALRM, &sig_action, NULL);
-#else /* HAVE_SIGACTION */
+#else  /* HAVE_SIGACTION */
        signal(SIGINT, finish);
        signal(SIGHUP, finish);
        signal(SIGTERM, finish);
        signal(SIGALRM, finish);
 #endif /* HAVE_SIGACTION */
-       if(debug) printf("Setting alarm timeout to %u seconds\n", timeout);
+       if (debug)
+               printf("Setting alarm timeout to %u seconds\n", timeout);
        alarm(timeout);
 
        /* make sure we don't wait any longer than necessary */
        gettimeofday(&prog_start, &tz);
-       max_completion_time =
-               ((targets * packets * pkt_interval) + (targets * 
target_interval)) +
-               (targets * packets * crit.rta) + crit.rta;
+       max_completion_time = ((targets * packets * pkt_interval) + (targets * 
target_interval)) + (targets * packets * crit.rta) + crit.rta;
 
-       if(debug) {
+       if (debug) {
                printf("packets: %u, targets: %u\n"
                           "target_interval: %0.3f, pkt_interval %0.3f\n"
                           "crit.rta: %0.3f\n"
                           "max_completion_time: %0.3f\n",
-                          packets, targets,
-                          (float)target_interval / 1000, (float)pkt_interval / 
1000,
-                          (float)crit.rta / 1000,
-                          (float)max_completion_time / 1000);
+                          packets, targets, (float)target_interval / 1000, 
(float)pkt_interval / 1000, (float)crit.rta / 1000, (float)max_completion_time 
/ 1000);
        }
 
-       if(debug) {
-               if(max_completion_time > (u_int)timeout * 1000000) {
-                       printf("max_completion_time: %llu  timeout: %u\n",
-                                  max_completion_time, timeout);
-                       printf("Timeout must be at least %llu\n",
-                                  max_completion_time / 1000000 + 1);
+       if (debug) {
+               if (max_completion_time > (u_int)timeout * 1000000) {
+                       printf("max_completion_time: %llu  timeout: %u\n", 
max_completion_time, timeout);
+                       printf("Timeout must be at least %llu\n", 
max_completion_time / 1000000 + 1);
                }
        }
 
-       if(debug) {
-               printf("crit = {%u, %u%%}, warn = {%u, %u%%}\n",
-                          crit.rta, crit.pl, warn.rta, warn.pl);
-               printf("pkt_interval: %u  target_interval: %u  retry_interval: 
%u\n",
-                          pkt_interval, target_interval, retry_interval);
-               printf("icmp_pkt_size: %u  timeout: %u\n",
-                          icmp_pkt_size, timeout);
+       if (debug) {
+               printf("crit = {%u, %u%%}, warn = {%u, %u%%}\n", crit.rta, 
crit.pl, warn.rta, warn.pl);
+               printf("pkt_interval: %u  target_interval: %u  retry_interval: 
%u\n", pkt_interval, target_interval, retry_interval);
+               printf("icmp_pkt_size: %u  timeout: %u\n", icmp_pkt_size, 
timeout);
        }
 
-       if(packets > 20) {
+       if (packets > 20) {
                errno = 0;
                crash("packets is > 20 (%d)", packets);
        }
 
-       if(min_hosts_alive < -1) {
+       if (min_hosts_alive < -1) {
                errno = 0;
                crash("minimum alive hosts is negative (%i)", min_hosts_alive);
        }
 
        host = list;
        table = malloc(sizeof(struct rta_host *) * targets);
-       if(!table) {
+       if (!table) {
                crash("main(): malloc failed for host table");
        }
 
        i = 0;
-       while(host) {
-               host->id = i*packets;
+       while (host) {
+               host->id = i * packets;
                table[i] = host;
                host = host->next;
                i++;
@@ -822,25 +842,24 @@ main(int argc, char **argv)
        errno = 0;
        finish(0);
 
-       return(0);
+       return (0);
 }
 
-static void
-run_checks()
-{
+static void run_checks() {
        u_int i, t;
        u_int final_wait, time_passed;
 
        /* this loop might actually violate the pkt_interval or target_interval
         * settings, but only if there aren't any packets on the wire which
         * indicates that the target can handle an increased packet rate */
-       for(i = 0; i < packets; i++) {
-               for(t = 0; t < targets; t++) {
+       for (i = 0; i < packets; i++) {
+               for (t = 0; t < targets; t++) {
                        /* don't send useless packets */
-                       if(!targets_alive) finish(0);
-                       if(table[t]->flags & FLAG_LOST_CAUSE) {
-                               if(debug) printf("%s is a lost cause. not 
sending any more\n",
-                                                                
table[t]->name);
+                       if (!targets_alive)
+                               finish(0);
+                       if (table[t]->flags & FLAG_LOST_CAUSE) {
+                               if (debug)
+                                       printf("%s is a lost cause. not sending 
any more\n", table[t]->name);
                                continue;
                        }
 
@@ -851,28 +870,27 @@ run_checks()
                wait_for_reply(icmp_sock, pkt_interval * targets);
        }
 
-       if(icmp_pkts_en_route && targets_alive) {
+       if (icmp_pkts_en_route && targets_alive) {
                time_passed = get_timevaldiff(NULL, NULL);
                final_wait = max_completion_time - time_passed;
 
-               if(debug) {
-                       printf("time_passed: %u  final_wait: %u  
max_completion_time: %llu\n",
-                                  time_passed, final_wait, 
max_completion_time);
+               if (debug) {
+                       printf("time_passed: %u  final_wait: %u  
max_completion_time: %llu\n", time_passed, final_wait, max_completion_time);
                }
-               if(time_passed > max_completion_time) {
-                       if(debug) printf("Time passed. Finishing up\n");
+               if (time_passed > max_completion_time) {
+                       if (debug)
+                               printf("Time passed. Finishing up\n");
                        finish(0);
                }
 
                /* catch the packets that might come in within the timeframe, 
but
                 * haven't yet */
-               if(debug) printf("Waiting for %u micro-seconds (%0.3f msecs)\n",
-                                                final_wait, (float)final_wait 
/ 1000);
+               if (debug)
+                       printf("Waiting for %u micro-seconds (%0.3f msecs)\n", 
final_wait, (float)final_wait / 1000);
                wait_for_reply(icmp_sock, final_wait);
        }
 }
 
-
 /* response structure:
  * IPv4:
  * ip header   : 20 bytes
@@ -883,9 +901,7 @@ run_checks()
  * both:
  * icmp echo reply : the rest
  */
-static int
-wait_for_reply(int sock, u_int t)
-{
+static int wait_for_reply(int sock, u_int t) {
        int n, hlen;
        static unsigned char buf[65536];
        struct sockaddr_storage resp_addr;
@@ -898,15 +914,14 @@ wait_for_reply(int sock, u_int t)
        double jitter_tmp;
 
        if (!(packet.buf = malloc(icmp_pkt_size))) {
-               crash("send_icmp_ping(): failed to malloc %d bytes for send 
buffer",
-                       icmp_pkt_size);
-               return -1;      /* might be reached if we're in debug mode */
+               crash("send_icmp_ping(): failed to malloc %d bytes for send 
buffer", icmp_pkt_size);
+               return -1; /* might be reached if we're in debug mode */
        }
 
        memset(packet.buf, 0, icmp_pkt_size);
 
        /* if we can't listen or don't have anything to listen to, just return 
*/
-       if(!t || !icmp_pkts_en_route) {
+       if (!t || !icmp_pkts_en_route) {
                free(packet.buf);
                return 0;
        }
@@ -915,29 +930,25 @@ wait_for_reply(int sock, u_int t)
 
        i = t;
        per_pkt_wait = t / icmp_pkts_en_route;
-       while(icmp_pkts_en_route && get_timevaldiff(&wait_start, NULL) < i) {
+       while (icmp_pkts_en_route && get_timevaldiff(&wait_start, NULL) < i) {
                t = per_pkt_wait;
 
                /* wrap up if all targets are declared dead */
-               if(!targets_alive ||
-                  get_timevaldiff(&prog_start, NULL) >= max_completion_time ||
-                  (mode == MODE_HOSTCHECK && targets_down))
-               {
+               if (!targets_alive || get_timevaldiff(&prog_start, NULL) >= 
max_completion_time || (mode == MODE_HOSTCHECK && targets_down)) {
                        finish(0);
                }
 
                /* reap responses until we hit a timeout */
-               n = recvfrom_wto(sock, buf, sizeof(buf),
-                                        (struct sockaddr *)&resp_addr, &t, 
&now);
-               if(!n) {
-                       if(debug > 1) {
-                               printf("recvfrom_wto() timed out during a %u 
usecs wait\n",
-                                          per_pkt_wait);
+               n = recvfrom_wto(sock, buf, sizeof(buf), (struct sockaddr 
*)&resp_addr, &t, &now);
+               if (!n) {
+                       if (debug > 1) {
+                               printf("recvfrom_wto() timed out during a %u 
usecs wait\n", per_pkt_wait);
                        }
-                       continue;       /* timeout for this one, so keep trying 
*/
+                       continue; /* timeout for this one, so keep trying */
                }
-               if(n < 0) {
-                       if(debug) printf("recvfrom_wto() returned errors\n");
+               if (n < 0) {
+                       if (debug)
+                               printf("recvfrom_wto() returned errors\n");
                        free(packet.buf);
                        return n;
                }
@@ -946,31 +957,27 @@ wait_for_reply(int sock, u_int t)
                if (address_family != AF_INET6) {
                        ip = (union ip_hdr *)buf;
 
-                       if(debug > 1) {
+                       if (debug > 1) {
                                char address[INET6_ADDRSTRLEN];
                                parse_address(&resp_addr, address, 
sizeof(address));
-                               printf("received %u bytes from %s\n",
-                                       address_family == AF_INET6 ? 
ntohs(ip->ip6.ip6_plen)
-                                                                  : 
ntohs(ip->ip.ip_len),
-                                       address);
+                               printf("received %u bytes from %s\n", 
address_family == AF_INET6 ? ntohs(ip->ip6.ip6_plen) : ntohs(ip->ip.ip_len), 
address);
                        }
                }
 
-/* obsolete. alpha on tru64 provides the necessary defines, but isn't broken */
-/* #if defined( __alpha__ ) && __STDC__ && !defined( __GLIBC__ ) */
+               /* obsolete. alpha on tru64 provides the necessary defines, but 
isn't broken */
+               /* #if defined( __alpha__ ) && __STDC__ && !defined( __GLIBC__ 
) */
                /* alpha headers are decidedly broken. Using an ansi compiler,
                 * they provide ip_vhl instead of ip_hl and ip_v, so we mask
                 * off the bottom 4 bits */
-/*             hlen = (ip->ip_vhl & 0x0f) << 2; */
-/* #else */
+               /*              hlen = (ip->ip_vhl & 0x0f) << 2; */
+               /* #else */
                hlen = (address_family == AF_INET6) ? 0 : ip->ip.ip_hl << 2;
-/* #endif */
+               /* #endif */
 
-               if(n < (hlen + ICMP_MINLEN)) {
+               if (n < (hlen + ICMP_MINLEN)) {
                        char address[INET6_ADDRSTRLEN];
                        parse_address(&resp_addr, address, sizeof(address));
-                       crash("received packet too short for ICMP (%d bytes, 
expected %d) from %s\n",
-                                 n, hlen + icmp_pkt_size, address);
+                       crash("received packet too short for ICMP (%d bytes, 
expected %d) from %s\n", n, hlen + icmp_pkt_size, address);
                }
                /* else if(debug) { */
                /*      printf("ip header size: %u, packet size: %u (expected 
%u, %u)\n", */
@@ -981,16 +988,14 @@ wait_for_reply(int sock, u_int t)
                /* check the response */
 
                memcpy(packet.buf, buf + hlen, icmp_pkt_size);
-/*                     address_family == AF_INET6 ? sizeof(struct icmp6_hdr)
-                                                  : sizeof(struct icmp));*/
-
-               if(   (address_family == PF_INET &&
-                       (ntohs(packet.icp->icmp_id) != pid || 
packet.icp->icmp_type != ICMP_ECHOREPLY
-                        || ntohs(packet.icp->icmp_seq) >= targets * packets))
-                  || (address_family == PF_INET6 &&
-                       (ntohs(packet.icp6->icmp6_id) != pid || 
packet.icp6->icmp6_type != ICMP6_ECHO_REPLY
-                       || ntohs(packet.icp6->icmp6_seq) >= targets * 
packets))) {
-                       if(debug > 2) printf("not a proper ICMP_ECHOREPLY\n");
+               /*                      address_family == AF_INET6 ? 
sizeof(struct icmp6_hdr)
+                                                                  : 
sizeof(struct icmp));*/
+
+               if ((address_family == PF_INET && (ntohs(packet.icp->icmp_id) 
!= pid || packet.icp->icmp_type != ICMP_ECHOREPLY || 
ntohs(packet.icp->icmp_seq) >= targets * packets)) ||
+                       (address_family == PF_INET6 &&
+                        (ntohs(packet.icp6->icmp6_id) != pid || 
packet.icp6->icmp6_type != ICMP6_ECHO_REPLY || ntohs(packet.icp6->icmp6_seq) >= 
targets * packets))) {
+                       if (debug > 2)
+                               printf("not a proper ICMP_ECHOREPLY\n");
                        handle_random_icmp(buf + hlen, &resp_addr);
                        continue;
                }
@@ -999,22 +1004,20 @@ wait_for_reply(int sock, u_int t)
                if (address_family == PF_INET) {
                        memcpy(&data, packet.icp->icmp_data, sizeof(data));
                        if (debug > 2)
-                               printf("ICMP echo-reply of len %lu, id %u, seq 
%u, cksum 0x%X\n",
-                                       (unsigned long)sizeof(data), 
ntohs(packet.icp->icmp_id),
-                                       ntohs(packet.icp->icmp_seq), 
packet.icp->icmp_cksum);
-                       host = table[ntohs(packet.icp->icmp_seq)/packets];
+                               printf("ICMP echo-reply of len %lu, id %u, seq 
%u, cksum 0x%X\n", (unsigned long)sizeof(data), ntohs(packet.icp->icmp_id), 
ntohs(packet.icp->icmp_seq),
+                                          packet.icp->icmp_cksum);
+                       host = table[ntohs(packet.icp->icmp_seq) / packets];
                } else {
                        memcpy(&data, 
&packet.icp6->icmp6_dataun.icmp6_un_data8[4], sizeof(data));
                        if (debug > 2)
-                               printf("ICMP echo-reply of len %lu, id %u, seq 
%u, cksum 0x%X\n",
-                                       (unsigned long)sizeof(data), 
ntohs(packet.icp6->icmp6_id),
-                                       ntohs(packet.icp6->icmp6_seq), 
packet.icp6->icmp6_cksum);
-                       host = table[ntohs(packet.icp6->icmp6_seq)/packets];
+                               printf("ICMP echo-reply of len %lu, id %u, seq 
%u, cksum 0x%X\n", (unsigned long)sizeof(data), ntohs(packet.icp6->icmp6_id), 
ntohs(packet.icp6->icmp6_seq),
+                                          packet.icp6->icmp6_cksum);
+                       host = table[ntohs(packet.icp6->icmp6_seq) / packets];
                }
 
                tdiff = get_timevaldiff(&data.stime, &now);
 
-               if (host->last_tdiff>0) {
+               if (host->last_tdiff > 0) {
                        /* Calculate jitter */
                        if (host->last_tdiff > tdiff) {
                                jitter_tmp = host->last_tdiff - tdiff;
@@ -1022,29 +1025,29 @@ wait_for_reply(int sock, u_int t)
                                jitter_tmp = tdiff - host->last_tdiff;
                        }
 
-                       if (host->jitter==0) {
-                               host->jitter=jitter_tmp;
-                               host->jitter_max=jitter_tmp;
-                               host->jitter_min=jitter_tmp;
+                       if (host->jitter == 0) {
+                               host->jitter = jitter_tmp;
+                               host->jitter_max = jitter_tmp;
+                               host->jitter_min = jitter_tmp;
                        } else {
-                               host->jitter+=jitter_tmp;
+                               host->jitter += jitter_tmp;
 
                                if (jitter_tmp < host->jitter_min) {
-                                       host->jitter_min=jitter_tmp;
+                                       host->jitter_min = jitter_tmp;
                                }
 
                                if (jitter_tmp > host->jitter_max) {
-                                       host->jitter_max=jitter_tmp;
+                                       host->jitter_max = jitter_tmp;
                                }
                        }
 
                        /* Check if packets in order */
                        if (host->last_icmp_seq >= packet.icp->icmp_seq)
-                               host->order_status=STATE_CRITICAL;
+                               host->order_status = STATE_CRITICAL;
                }
-               host->last_tdiff=tdiff;
+               host->last_tdiff = tdiff;
 
-               host->last_icmp_seq=packet.icp->icmp_seq;
+               host->last_icmp_seq = packet.icp->icmp_seq;
 
                host->time_waited += tdiff;
                host->icmp_recv++;
@@ -1054,39 +1057,27 @@ wait_for_reply(int sock, u_int t)
                if (tdiff < (unsigned int)host->rtmin)
                        host->rtmin = tdiff;
 
-               if(debug) {
+               if (debug) {
                        char address[INET6_ADDRSTRLEN];
                        parse_address(&resp_addr, address, sizeof(address));
 
-                       switch(address_family) {
-                               case AF_INET: {
-                                       printf("%0.3f ms rtt from %s, outgoing 
ttl: %u, incoming ttl: %u, max: %0.3f, min: %0.3f\n",
-                                               (float)tdiff / 1000,
-                                               address,
-                                               ttl,
-                                               ip->ip.ip_ttl,
-                                               (float)host->rtmax / 1000,
-                                               (float)host->rtmin / 1000);
-                                       break;
-                                         };
-                               case AF_INET6: {
-                                       printf("%0.3f ms rtt from %s, outgoing 
ttl: %u, max: %0.3f, min: %0.3f\n",
-                                               (float)tdiff / 1000,
-                                               address,
-                                               ttl,
-                                               (float)host->rtmax / 1000,
-                                               (float)host->rtmin / 1000);
-                                         };
-                          }
+                       switch (address_family) {
+                       case AF_INET: {
+                               printf("%0.3f ms rtt from %s, outgoing ttl: %u, 
incoming ttl: %u, max: %0.3f, min: %0.3f\n", (float)tdiff / 1000, address, ttl, 
ip->ip.ip_ttl,
+                                          (float)host->rtmax / 1000, 
(float)host->rtmin / 1000);
+                               break;
+                       };
+                       case AF_INET6: {
+                               printf("%0.3f ms rtt from %s, outgoing ttl: %u, 
max: %0.3f, min: %0.3f\n", (float)tdiff / 1000, address, ttl, 
(float)host->rtmax / 1000, (float)host->rtmin / 1000);
+                       };
+                       }
                }
 
                /* if we're in hostcheck mode, exit with limited printouts */
-               if(mode == MODE_HOSTCHECK) {
+               if (mode == MODE_HOSTCHECK) {
                        printf("OK - %s responds to ICMP. Packet %u, rta 
%0.3fms|"
-                               "pkt=%u;;;0;%u rta=%0.3f;%0.3f;%0.3f;;\n",
-                               host->name, icmp_recv, (float)tdiff / 1000,
-                               icmp_recv, packets, (float)tdiff / 1000,
-                               (float)warn.rta / 1000, (float)crit.rta / 1000);
+                                  "pkt=%u;;;0;%u rta=%0.3f;%0.3f;%0.3f;;\n",
+                                  host->name, icmp_recv, (float)tdiff / 1000, 
icmp_recv, packets, (float)tdiff / 1000, (float)warn.rta / 1000, 
(float)crit.rta / 1000);
                        exit(STATE_OK);
                }
        }
@@ -1096,9 +1087,7 @@ wait_for_reply(int sock, u_int t)
 }
 
 /* the ping functions */
-static int
-send_icmp_ping(int sock, struct rta_host *host)
-{
+static int send_icmp_ping(int sock, struct rta_host *host) {
        long int len;
        size_t addrlen;
        struct icmp_ping_data data;
@@ -1107,22 +1096,21 @@ send_icmp_ping(int sock, struct rta_host *host)
        struct timeval tv;
        void *buf = NULL;
 
-       if(sock == -1) {
+       if (sock == -1) {
                errno = 0;
                crash("Attempt to send on bogus socket");
                return -1;
        }
 
-       if(!buf) {
+       if (!buf) {
                if (!(buf = malloc(icmp_pkt_size))) {
-                       crash("send_icmp_ping(): failed to malloc %d bytes for 
send buffer",
-                                 icmp_pkt_size);
-                       return -1;      /* might be reached if we're in debug 
mode */
+                       crash("send_icmp_ping(): failed to malloc %d bytes for 
send buffer", icmp_pkt_size);
+                       return -1; /* might be reached if we're in debug mode */
                }
        }
        memset(buf, 0, icmp_pkt_size);
 
-       if((gettimeofday(&tv, &tz)) == -1) {
+       if ((gettimeofday(&tv, &tz)) == -1) {
                free(buf);
                return -1;
        }
@@ -1131,7 +1119,7 @@ send_icmp_ping(int sock, struct rta_host *host)
        memcpy(&data.stime, &tv, sizeof(tv));
 
        if (address_family == AF_INET) {
-               struct icmp *icp = (struct icmp*)buf;
+               struct icmp *icp = (struct icmp *)buf;
                addrlen = sizeof(struct sockaddr_in);
 
                memcpy(&icp->icmp_data, &data, sizeof(data));
@@ -1141,14 +1129,13 @@ send_icmp_ping(int sock, struct rta_host *host)
                icp->icmp_cksum = 0;
                icp->icmp_id = htons(pid);
                icp->icmp_seq = htons(host->id++);
-               icp->icmp_cksum = icmp_checksum((uint16_t*)buf, 
(size_t)icmp_pkt_size);
+               icp->icmp_cksum = icmp_checksum((uint16_t *)buf, 
(size_t)icmp_pkt_size);
 
                if (debug > 2)
-                       printf("Sending ICMP echo-request of len %lu, id %u, 
seq %u, cksum 0x%X to host %s\n",
-                               (unsigned long)sizeof(data), 
ntohs(icp->icmp_id), ntohs(icp->icmp_seq), icp->icmp_cksum, host->name);
-       }
-       else {
-               struct icmp6_hdr *icp6 = (struct icmp6_hdr*)buf;
+                       printf("Sending ICMP echo-request of len %lu, id %u, 
seq %u, cksum 0x%X to host %s\n", (unsigned long)sizeof(data), 
ntohs(icp->icmp_id), ntohs(icp->icmp_seq),
+                                  icp->icmp_cksum, host->name);
+       } else {
+               struct icmp6_hdr *icp6 = (struct icmp6_hdr *)buf;
                addrlen = sizeof(struct sockaddr_in6);
 
                memcpy(&icp6->icmp6_dataun.icmp6_un_data8[4], &data, 
sizeof(data));
@@ -1161,9 +1148,8 @@ send_icmp_ping(int sock, struct rta_host *host)
                // let checksum be calculated automatically
 
                if (debug > 2) {
-                       printf("Sending ICMP echo-request of len %lu, id %u, 
seq %u, cksum 0x%X to host %s\n",
-                               (unsigned long)sizeof(data), 
ntohs(icp6->icmp6_id),
-                               ntohs(icp6->icmp6_seq), icp6->icmp6_cksum, 
host->name);
+                       printf("Sending ICMP echo-request of len %lu, id %u, 
seq %u, cksum 0x%X to host %s\n", (unsigned long)sizeof(data), 
ntohs(icp6->icmp6_id), ntohs(icp6->icmp6_seq),
+                                  icp6->icmp6_cksum, host->name);
                }
        }
 
@@ -1188,8 +1174,8 @@ send_icmp_ping(int sock, struct rta_host *host)
 
        free(buf);
 
-       if(len < 0 || (unsigned int)len != icmp_pkt_size) {
-               if(debug) {
+       if (len < 0 || (unsigned int)len != icmp_pkt_size) {
+               if (debug) {
                        char address[INET6_ADDRSTRLEN];
                        parse_address((struct sockaddr_storage 
*)&host->saddr_in, address, sizeof(address));
                        printf("Failed to send ping to %s: %s\n", address, 
strerror(errno));
@@ -1204,10 +1190,7 @@ send_icmp_ping(int sock, struct rta_host *host)
        return 0;
 }
 
-static int
-recvfrom_wto(int sock, void *buf, unsigned int len, struct sockaddr *saddr,
-                        u_int *timo, struct timeval* tv)
-{
+static int recvfrom_wto(int sock, void *buf, unsigned int len, struct sockaddr 
*saddr, u_int *timo, struct timeval *tv) {
        u_int slen;
        int n, ret;
        struct timeval to, then, now;
@@ -1218,11 +1201,12 @@ recvfrom_wto(int sock, void *buf, unsigned int len, 
struct sockaddr *saddr,
        struct msghdr hdr;
        struct iovec iov;
 #ifdef SO_TIMESTAMP
-       struct cmsghdr* chdr;
+       struct cmsghdr *chdr;
 #endif
 
-       if(!*timo) {
-               if(debug) printf("*timo is not\n");
+       if (!*timo) {
+               if (debug)
+                       printf("*timo is not\n");
                return 0;
        }
 
@@ -1235,11 +1219,13 @@ recvfrom_wto(int sock, void *buf, unsigned int len, 
struct sockaddr *saddr,
        errno = 0;
        gettimeofday(&then, &tz);
        n = select(sock + 1, &rd, &wr, NULL, &to);
-       if(n < 0) crash("select() in recvfrom_wto");
+       if (n < 0)
+               crash("select() in recvfrom_wto");
        gettimeofday(&now, &tz);
        *timo = get_timevaldiff(&then, &now);
 
-       if(!n) return 0;                                /* timeout */
+       if (!n)
+               return 0; /* timeout */
 
        slen = sizeof(struct sockaddr_storage);
 
@@ -1259,12 +1245,10 @@ recvfrom_wto(int sock, void *buf, unsigned int len, 
struct sockaddr *saddr,
 
        ret = recvmsg(sock, &hdr, 0);
 #ifdef SO_TIMESTAMP
-       for(chdr = CMSG_FIRSTHDR(&hdr); chdr; chdr = CMSG_NXTHDR(&hdr, chdr)) {
-               if(chdr->cmsg_level == SOL_SOCKET
-                  && chdr->cmsg_type == SO_TIMESTAMP
-                  && chdr->cmsg_len >= CMSG_LEN(sizeof(struct timeval))) {
+       for (chdr = CMSG_FIRSTHDR(&hdr); chdr; chdr = CMSG_NXTHDR(&hdr, chdr)) {
+               if (chdr->cmsg_level == SOL_SOCKET && chdr->cmsg_type == 
SO_TIMESTAMP && chdr->cmsg_len >= CMSG_LEN(sizeof(struct timeval))) {
                        memcpy(tv, CMSG_DATA(chdr), sizeof(*tv));
-                       break ;
+                       break;
                }
        }
 
@@ -1274,54 +1258,55 @@ recvfrom_wto(int sock, void *buf, unsigned int len, 
struct sockaddr *saddr,
        return (ret);
 }
 
-static void
-finish(int sig)
-{
+static void finish(int sig) {
        u_int i = 0;
        unsigned char pl;
        double rta;
        struct rta_host *host;
-       const char *status_string[] =
-       {"OK", "WARNING", "CRITICAL", "UNKNOWN", "DEPENDENT"};
+       const char *status_string[] = {"OK", "WARNING", "CRITICAL", "UNKNOWN", 
"DEPENDENT"};
        int hosts_ok = 0;
        int hosts_warn = 0;
        int this_status;
        double R;
 
        alarm(0);
-       if(debug > 1) printf("finish(%d) called\n", sig);
-
-       if(icmp_sock != -1) close(icmp_sock);
-       if(udp_sock != -1) close(udp_sock);
-       if(tcp_sock != -1) close(tcp_sock);
-
-       if(debug) {
-               printf("icmp_sent: %u  icmp_recv: %u  icmp_lost: %u\n",
-                          icmp_sent, icmp_recv, icmp_lost);
+       if (debug > 1)
+               printf("finish(%d) called\n", sig);
+
+       if (icmp_sock != -1)
+               close(icmp_sock);
+       if (udp_sock != -1)
+               close(udp_sock);
+       if (tcp_sock != -1)
+               close(tcp_sock);
+
+       if (debug) {
+               printf("icmp_sent: %u  icmp_recv: %u  icmp_lost: %u\n", 
icmp_sent, icmp_recv, icmp_lost);
                printf("targets: %u  targets_alive: %u\n", targets, 
targets_alive);
        }
 
        /* iterate thrice to calculate values, give output, and print perfparse 
*/
-       status=STATE_OK;
+       status = STATE_OK;
        host = list;
 
-       while(host) {
+       while (host) {
                this_status = STATE_OK;
 
-               if(!host->icmp_recv) {
+               if (!host->icmp_recv) {
                        /* rta 0 is ofcourse not entirely correct, but will 
still show up
                         * conspicuously as missing entries in perfparse and 
cacti */
                        pl = 100;
                        rta = 0;
                        status = STATE_CRITICAL;
                        /* up the down counter if not already counted */
-                       if(!(host->flags & FLAG_LOST_CAUSE) && targets_alive) 
targets_down++;
+                       if (!(host->flags & FLAG_LOST_CAUSE) && targets_alive)
+                               targets_down++;
                } else {
                        pl = ((host->icmp_sent - host->icmp_recv) * 100) / 
host->icmp_sent;
                        rta = (double)host->time_waited / host->icmp_recv;
                }
 
-               if (host->icmp_recv>1) {
+               if (host->icmp_recv > 1) {
                        /*
                         * This algorithm is probably pretty much blindly 
copied from
                         * locations like this one: 
https://www.slac.stanford.edu/comp/net/wan-mon/tutorial.html#mos
@@ -1336,19 +1321,19 @@ finish(int sig)
                         * More links:
                         * - 
https://confluence.slac.stanford.edu/display/IEPM/MOS
                         */
-                       host->jitter=(host->jitter / (host->icmp_recv - 
1)/1000);
+                       host->jitter = (host->jitter / (host->icmp_recv - 1) / 
1000);
 
                        /*
                         * Take the average round trip latency (in 
milliseconds), add
                         * round trip jitter, but double the impact to latency
                         * then add 10 for protocol latencies (in milliseconds).
                         */
-                       host->EffectiveLatency = (rta/1000) + host->jitter * 2 
+ 10;
+                       host->EffectiveLatency = (rta / 1000) + host->jitter * 
2 + 10;
 
                        if (host->EffectiveLatency < 160) {
-                          R = 93.2 - (host->EffectiveLatency / 40);
+                               R = 93.2 - (host->EffectiveLatency / 40);
                        } else {
-                          R = 93.2 - ((host->EffectiveLatency - 120) / 10);
+                               R = 93.2 - ((host->EffectiveLatency - 120) / 
10);
                        }
 
                        // Now, let us deduct 2.5 R values per percentage of 
packet loss (i.e. a
@@ -1360,12 +1345,12 @@ finish(int sig)
                        }
 
                        host->score = R;
-                       host->mos= 1 + ((0.035) * R) + ((.000007) * R * (R-60) 
* (100-R));
+                       host->mos = 1 + ((0.035) * R) + ((.000007) * R * (R - 
60) * (100 - R));
                } else {
-                       host->jitter=0;
-                       host->jitter_min=0;
-                       host->jitter_max=0;
-                       host->mos=0;
+                       host->jitter = 0;
+                       host->jitter_min = 0;
+                       host->jitter_max = 0;
+                       host->mos = 0;
                }
 
                host->pl = pl;
@@ -1379,62 +1364,62 @@ finish(int sig)
 
                /* Check which mode is on and do the warn / Crit stuff */
                if (rta_mode) {
-                       if(rta >= crit.rta) {
+                       if (rta >= crit.rta) {
                                this_status = STATE_CRITICAL;
                                status = STATE_CRITICAL;
-                               host->rta_status=STATE_CRITICAL;
-                       } else if(status!=STATE_CRITICAL && (rta >= warn.rta)) {
+                               host->rta_status = STATE_CRITICAL;
+                       } else if (status != STATE_CRITICAL && (rta >= 
warn.rta)) {
                                this_status = (this_status <= STATE_WARNING ? 
STATE_WARNING : this_status);
                                status = STATE_WARNING;
-                               host->rta_status=STATE_WARNING;
+                               host->rta_status = STATE_WARNING;
                        }
                }
 
                if (pl_mode) {
-                       if(pl >= crit.pl) {
+                       if (pl >= crit.pl) {
                                this_status = STATE_CRITICAL;
                                status = STATE_CRITICAL;
-                               host->pl_status=STATE_CRITICAL;
-                       } else if(status!=STATE_CRITICAL && (pl >= warn.pl)) {
+                               host->pl_status = STATE_CRITICAL;
+                       } else if (status != STATE_CRITICAL && (pl >= warn.pl)) 
{
                                this_status = (this_status <= STATE_WARNING ? 
STATE_WARNING : this_status);
                                status = STATE_WARNING;
-                               host->pl_status=STATE_WARNING;
+                               host->pl_status = STATE_WARNING;
                        }
                }
 
                if (jitter_mode) {
-                       if(host->jitter >= crit.jitter) {
+                       if (host->jitter >= crit.jitter) {
                                this_status = STATE_CRITICAL;
                                status = STATE_CRITICAL;
-                               host->jitter_status=STATE_CRITICAL;
-                       } else if(status!=STATE_CRITICAL && (host->jitter >= 
warn.jitter)) {
+                               host->jitter_status = STATE_CRITICAL;
+                       } else if (status != STATE_CRITICAL && (host->jitter >= 
warn.jitter)) {
                                this_status = (this_status <= STATE_WARNING ? 
STATE_WARNING : this_status);
                                status = STATE_WARNING;
-                               host->jitter_status=STATE_WARNING;
+                               host->jitter_status = STATE_WARNING;
                        }
                }
 
                if (mos_mode) {
-                       if(host->mos <= crit.mos) {
+                       if (host->mos <= crit.mos) {
                                this_status = STATE_CRITICAL;
                                status = STATE_CRITICAL;
-                               host->mos_status=STATE_CRITICAL;
-                       } else if(status!=STATE_CRITICAL && (host->mos <= 
warn.mos)) {
+                               host->mos_status = STATE_CRITICAL;
+                       } else if (status != STATE_CRITICAL && (host->mos <= 
warn.mos)) {
                                this_status = (this_status <= STATE_WARNING ? 
STATE_WARNING : this_status);
                                status = STATE_WARNING;
-                               host->mos_status=STATE_WARNING;
+                               host->mos_status = STATE_WARNING;
                        }
                }
 
                if (score_mode) {
-                       if(host->score <= crit.score) {
+                       if (host->score <= crit.score) {
                                this_status = STATE_CRITICAL;
                                status = STATE_CRITICAL;
-                               host->score_status=STATE_CRITICAL;
-                       } else if(status!=STATE_CRITICAL && (host->score <= 
warn.score)) {
+                               host->score_status = STATE_CRITICAL;
+                       } else if (status != STATE_CRITICAL && (host->score <= 
warn.score)) {
                                this_status = (this_status <= STATE_WARNING ? 
STATE_WARNING : this_status);
                                status = STATE_WARNING;
-                               host->score_status=STATE_WARNING;
+                               host->score_status = STATE_WARNING;
                        }
                }
 
@@ -1447,91 +1432,92 @@ finish(int sig)
                host = host->next;
        }
 
-
        /* this is inevitable */
-       if(!targets_alive) status = STATE_CRITICAL;
-       if(min_hosts_alive > -1) {
-               if(hosts_ok >= min_hosts_alive) status = STATE_OK;
-               else if((hosts_ok + hosts_warn) >= min_hosts_alive) status = 
STATE_WARNING;
+       if (!targets_alive)
+               status = STATE_CRITICAL;
+       if (min_hosts_alive > -1) {
+               if (hosts_ok >= min_hosts_alive)
+                       status = STATE_OK;
+               else if ((hosts_ok + hosts_warn) >= min_hosts_alive)
+                       status = STATE_WARNING;
        }
        printf("%s - ", status_string[status]);
 
        host = list;
-       while(host) {
-
-               if(debug) puts("");
-               if(i) {
-                       if(i < targets) printf(" :: ");
-                       else printf("\n");
+       while (host) {
+
+               if (debug)
+                       puts("");
+               if (i) {
+                       if (i < targets)
+                               printf(" :: ");
+                       else
+                               printf("\n");
                }
                i++;
-               if(!host->icmp_recv) {
+               if (!host->icmp_recv) {
                        status = STATE_CRITICAL;
-                       host->rtmin=0;
-                       host->jitter_min=0;
-                       if(host->flags & FLAG_LOST_CAUSE) {
+                       host->rtmin = 0;
+                       host->jitter_min = 0;
+                       if (host->flags & FLAG_LOST_CAUSE) {
                                char address[INET6_ADDRSTRLEN];
                                parse_address(&host->error_addr, address, 
sizeof(address));
-                               printf("%s: %s @ %s. rta nan, lost %d%%",
-                                          host->name,
-                                          get_icmp_error_msg(host->icmp_type, 
host->icmp_code),
-                                          address,
-                                          100);
+                               printf("%s: %s @ %s. rta nan, lost %d%%", 
host->name, get_icmp_error_msg(host->icmp_type, host->icmp_code), address, 100);
                        } else { /* not marked as lost cause, so we have no 
flags for it */
                                printf("%s: rta nan, lost 100%%", host->name);
                        }
-               } else {        /* !icmp_recv */
+               } else { /* !icmp_recv */
                        printf("%s", host->name);
                        /* rta text output */
                        if (rta_mode) {
                                if (status == STATE_OK)
                                        printf(" rta %0.3fms", host->rta / 
1000);
-                               else if (status==STATE_WARNING && 
host->rta_status==status)
-                                       printf(" rta %0.3fms > %0.3fms", 
(float)host->rta / 1000, (float)warn.rta/1000);
-                               else if (status==STATE_CRITICAL && 
host->rta_status==status)
-                                       printf(" rta %0.3fms > %0.3fms", 
(float)host->rta / 1000, (float)crit.rta/1000);
+                               else if (status == STATE_WARNING && 
host->rta_status == status)
+                                       printf(" rta %0.3fms > %0.3fms", 
(float)host->rta / 1000, (float)warn.rta / 1000);
+                               else if (status == STATE_CRITICAL && 
host->rta_status == status)
+                                       printf(" rta %0.3fms > %0.3fms", 
(float)host->rta / 1000, (float)crit.rta / 1000);
                        }
                        /* pl text output */
                        if (pl_mode) {
                                if (status == STATE_OK)
                                        printf(" lost %u%%", host->pl);
-                               else if (status==STATE_WARNING && 
host->pl_status==status)
+                               else if (status == STATE_WARNING && 
host->pl_status == status)
                                        printf(" lost %u%% > %u%%", host->pl, 
warn.pl);
-                               else if (status==STATE_CRITICAL && 
host->pl_status==status)
+                               else if (status == STATE_CRITICAL && 
host->pl_status == status)
                                        printf(" lost %u%% > %u%%", host->pl, 
crit.pl);
                        }
                        /* jitter text output */
                        if (jitter_mode) {
                                if (status == STATE_OK)
                                        printf(" jitter %0.3fms", 
(float)host->jitter);
-                               else if (status==STATE_WARNING && 
host->jitter_status==status)
+                               else if (status == STATE_WARNING && 
host->jitter_status == status)
                                        printf(" jitter %0.3fms > %0.3fms", 
(float)host->jitter, warn.jitter);
-                               else if (status==STATE_CRITICAL && 
host->jitter_status==status)
+                               else if (status == STATE_CRITICAL && 
host->jitter_status == status)
                                        printf(" jitter %0.3fms > %0.3fms", 
(float)host->jitter, crit.jitter);
                        }
                        /* mos text output */
                        if (mos_mode) {
                                if (status == STATE_OK)
                                        printf(" MOS %0.1f", (float)host->mos);
-                               else if (status==STATE_WARNING && 
host->mos_status==status)
+                               else if (status == STATE_WARNING && 
host->mos_status == status)
                                        printf(" MOS %0.1f < %0.1f", 
(float)host->mos, (float)warn.mos);
-                               else if (status==STATE_CRITICAL && 
host->mos_status==status)
+                               else if (status == STATE_CRITICAL && 
host->mos_status == status)
                                        printf(" MOS %0.1f < %0.1f", 
(float)host->mos, (float)crit.mos);
                        }
                        /* score text output */
                        if (score_mode) {
                                if (status == STATE_OK)
                                        printf(" Score %u", (int)host->score);
-                               else if (status==STATE_WARNING && 
host->score_status==status )
+                               else if (status == STATE_WARNING && 
host->score_status == status)
                                        printf(" Score %u < %u", 
(int)host->score, (int)warn.score);
-                               else if (status==STATE_CRITICAL && 
host->score_status==status )
+                               else if (status == STATE_CRITICAL && 
host->score_status == status)
                                        printf(" Score %u < %u", 
(int)host->score, (int)crit.score);
                        }
                        /* order statis text output */
                        if (order_mode) {
                                if (status == STATE_OK)
                                        printf(" Packets in order");
-                               else if (status==STATE_CRITICAL && 
host->order_status==status)
+                               else if (status == STATE_CRITICAL && 
host->order_status == status)
                                        printf(" Packets out of order");
                        }
                }
@@ -1540,25 +1526,21 @@ finish(int sig)
 
        /* iterate once more for pretty perfparse output */
        if (!(!rta_mode && !pl_mode && !jitter_mode && !score_mode && !mos_mode 
&& order_mode)) {
-                       printf("|");
+               printf("|");
        }
        i = 0;
        host = list;
-       while(host) {
-               if(debug) puts("");
+       while (host) {
+               if (debug)
+                       puts("");
 
                if (rta_mode) {
-                       if (host->pl<100) {
-                               printf("%srta=%0.3fms;%0.3f;%0.3f;0; 
%srtmax=%0.3fms;;;; %srtmin=%0.3fms;;;; ",
-                                       (targets > 1) ? host->name : "",
-                                       host->rta / 1000, (float)warn.rta / 
1000, (float)crit.rta / 1000,
-                                       (targets > 1) ? host->name : "", 
(float)host->rtmax / 1000,
-                                       (targets > 1) ? host->name : "", 
(host->rtmin < INFINITY) ? (float)host->rtmin / 1000 : (float)0);
+                       if (host->pl < 100) {
+                               printf("%srta=%0.3fms;%0.3f;%0.3f;0; 
%srtmax=%0.3fms;;;; %srtmin=%0.3fms;;;; ", (targets > 1) ? host->name : "", 
host->rta / 1000, (float)warn.rta / 1000,
+                                          (float)crit.rta / 1000, (targets > 
1) ? host->name : "", (float)host->rtmax / 1000, (targets > 1) ? host->name : 
"",
+                                          (host->rtmin < INFINITY) ? 
(float)host->rtmin / 1000 : (float)0);
                        } else {
-                               printf("%srta=U;;;; %srtmax=U;;;; %srtmin=U;;;; 
",
-                                       (targets > 1) ? host->name : "",
-                                       (targets > 1) ? host->name : "",
-                                       (targets > 1) ? host->name : "");
+                               printf("%srta=U;;;; %srtmax=U;;;; %srtmin=U;;;; 
", (targets > 1) ? host->name : "", (targets > 1) ? host->name : "", (targets > 
1) ? host->name : "");
                        }
                }
 
@@ -1567,43 +1549,27 @@ finish(int sig)
                }
 
                if (jitter_mode) {
-                       if (host->pl<100) {
-                               printf("%sjitter_avg=%0.3fms;%0.3f;%0.3f;0; 
%sjitter_max=%0.3fms;;;; %sjitter_min=%0.3fms;;;; ",
-                                       (targets > 1) ? host->name : "",
-                                       (float)host->jitter,
-                                       (float)warn.jitter,
-                                       (float)crit.jitter,
-                                       (targets > 1) ? host->name : "",
-                                       (float)host->jitter_max / 1000, 
(targets > 1) ? host->name : "",
-                                       (float)host->jitter_min / 1000
-                               );
+                       if (host->pl < 100) {
+                               printf("%sjitter_avg=%0.3fms;%0.3f;%0.3f;0; 
%sjitter_max=%0.3fms;;;; %sjitter_min=%0.3fms;;;; ", (targets > 1) ? host->name 
: "", (float)host->jitter,
+                                          (float)warn.jitter, 
(float)crit.jitter, (targets > 1) ? host->name : "", (float)host->jitter_max / 
1000, (targets > 1) ? host->name : "",
+                                          (float)host->jitter_min / 1000);
                        } else {
-                               printf("%sjitter_avg=U;;;; %sjitter_max=U;;;; 
%sjitter_min=U;;;; ",
-                                       (targets > 1) ? host->name : "",
-                                       (targets > 1) ? host->name : "",
-                                       (targets > 1) ? host->name : "");
+                               printf("%sjitter_avg=U;;;; %sjitter_max=U;;;; 
%sjitter_min=U;;;; ", (targets > 1) ? host->name : "", (targets > 1) ? 
host->name : "",
+                                          (targets > 1) ? host->name : "");
                        }
                }
 
                if (mos_mode) {
-                       if (host->pl<100) {
-                               printf("%smos=%0.1f;%0.1f;%0.1f;0;5 ",
-                                       (targets > 1) ? host->name : "",
-                                       (float)host->mos,
-                                       (float)warn.mos,
-                                       (float)crit.mos);
+                       if (host->pl < 100) {
+                               printf("%smos=%0.1f;%0.1f;%0.1f;0;5 ", (targets 
> 1) ? host->name : "", (float)host->mos, (float)warn.mos, (float)crit.mos);
                        } else {
                                printf("%smos=U;;;; ", (targets > 1) ? 
host->name : "");
                        }
                }
 
                if (score_mode) {
-                       if (host->pl<100) {
-                               printf("%sscore=%u;%u;%u;0;100 ",
-                                       (targets > 1) ? host->name : "",
-                                       (int)host->score,
-                                       (int)warn.score,
-                                       (int)crit.score);
+                       if (host->pl < 100) {
+                               printf("%sscore=%u;%u;%u;0;100 ", (targets > 1) 
? host->name : "", (int)host->score, (int)warn.score, (int)crit.score);
                        } else {
                                printf("%sscore=U;;;; ", (targets > 1) ? 
host->name : "");
                        }
@@ -1612,35 +1578,34 @@ finish(int sig)
                host = host->next;
        }
 
-       if(min_hosts_alive > -1) {
-               if(hosts_ok >= min_hosts_alive) status = STATE_OK;
-               else if((hosts_ok + hosts_warn) >= min_hosts_alive) status = 
STATE_WARNING;
+       if (min_hosts_alive > -1) {
+               if (hosts_ok >= min_hosts_alive)
+                       status = STATE_OK;
+               else if ((hosts_ok + hosts_warn) >= min_hosts_alive)
+                       status = STATE_WARNING;
        }
 
        /* finish with an empty line */
        puts("");
-       if(debug) printf("targets: %u, targets_alive: %u, hosts_ok: %u, 
hosts_warn: %u, min_hosts_alive: %i\n",
-                                        targets, targets_alive, hosts_ok, 
hosts_warn, min_hosts_alive);
+       if (debug)
+               printf("targets: %u, targets_alive: %u, hosts_ok: %u, 
hosts_warn: %u, min_hosts_alive: %i\n", targets, targets_alive, hosts_ok, 
hosts_warn, min_hosts_alive);
 
        exit(status);
 }
 
-static u_int
-get_timevaldiff(struct timeval *early, struct timeval *later)
-{
+static u_int get_timevaldiff(struct timeval *early, struct timeval *later) {
        u_int ret;
        struct timeval now;
 
-       if(!later) {
+       if (!later) {
                gettimeofday(&now, &tz);
                later = &now;
        }
-       if(!early) early = &prog_start;
+       if (!early)
+               early = &prog_start;
 
        /* if early > later we return 0 so as to indicate a timeout */
-       if(early->tv_sec > later->tv_sec ||
-          (early->tv_sec == later->tv_sec && early->tv_usec > later->tv_usec))
-       {
+       if (early->tv_sec > later->tv_sec || (early->tv_sec == later->tv_sec && 
early->tv_usec > later->tv_usec)) {
                return 0;
        }
        ret = (later->tv_sec - early->tv_sec) * 1000000;
@@ -1649,9 +1614,7 @@ get_timevaldiff(struct timeval *early, struct timeval 
*later)
        return ret;
 }
 
-static int
-add_target_ip(char *arg, struct sockaddr_storage *in)
-{
+static int add_target_ip(char *arg, struct sockaddr_storage *in) {
        struct rta_host *host;
        struct sockaddr_in *sin, *host_sin;
        struct sockaddr_in6 *sin6, *host_sin6;
@@ -1661,51 +1624,46 @@ add_target_ip(char *arg, struct sockaddr_storage *in)
        else
                sin6 = (struct sockaddr_in6 *)in;
 
-
-
        /* disregard obviously stupid addresses
         * (I didn't find an ipv6 equivalent to INADDR_NONE) */
-       if (((address_family == AF_INET && (sin->sin_addr.s_addr == INADDR_NONE
-                                       || sin->sin_addr.s_addr == INADDR_ANY)))
-               || (address_family == AF_INET6 && (sin6->sin6_addr.s6_addr == 
in6addr_any.s6_addr))) {
+       if (((address_family == AF_INET && (sin->sin_addr.s_addr == INADDR_NONE 
|| sin->sin_addr.s_addr == INADDR_ANY))) ||
+               (address_family == AF_INET6 && (sin6->sin6_addr.s6_addr == 
in6addr_any.s6_addr))) {
                return -1;
        }
 
        /* no point in adding two identical IP's, so don't. ;) */
        host = list;
-       while(host) {
+       while (host) {
                host_sin = (struct sockaddr_in *)&host->saddr_in;
                host_sin6 = (struct sockaddr_in6 *)&host->saddr_in;
 
-               if(   (address_family == AF_INET && host_sin->sin_addr.s_addr 
== sin->sin_addr.s_addr)
-                  || (address_family == AF_INET6 && 
host_sin6->sin6_addr.s6_addr == sin6->sin6_addr.s6_addr)) {
-                       if(debug) printf("Identical IP already exists. Not 
adding %s\n", arg);
+               if ((address_family == AF_INET && host_sin->sin_addr.s_addr == 
sin->sin_addr.s_addr) ||
+                       (address_family == AF_INET6 && 
host_sin6->sin6_addr.s6_addr == sin6->sin6_addr.s6_addr)) {
+                       if (debug)
+                               printf("Identical IP already exists. Not adding 
%s\n", arg);
                        return -1;
                }
                host = host->next;
        }
 
        /* add the fresh ip */
-       host = (struct rta_host*)malloc(sizeof(struct rta_host));
-       if(!host) {
+       host = (struct rta_host *)malloc(sizeof(struct rta_host));
+       if (!host) {
                char straddr[INET6_ADDRSTRLEN];
-               parse_address((struct sockaddr_storage*)&in, straddr, 
sizeof(straddr));
-               crash("add_target_ip(%s, %s): malloc(%lu) failed",
-                       arg, straddr, sizeof(struct rta_host));
+               parse_address((struct sockaddr_storage *)&in, straddr, 
sizeof(straddr));
+               crash("add_target_ip(%s, %s): malloc(%lu) failed", arg, 
straddr, sizeof(struct rta_host));
        }
        memset(host, 0, sizeof(struct rta_host));
 
        /* set the values. use calling name for output */
        host->name = strdup(arg);
 
-
        /* fill out the sockaddr_storage struct */
-       if(address_family == AF_INET) {
+       if (address_family == AF_INET) {
                host_sin = (struct sockaddr_in *)&host->saddr_in;
                host_sin->sin_family = AF_INET;
                host_sin->sin_addr.s_addr = sin->sin_addr.s_addr;
-       }
-       else {
+       } else {
                host_sin6 = (struct sockaddr_in6 *)&host->saddr_in;
                host_sin6->sin6_family = AF_INET6;
                memcpy(host_sin6->sin6_addr.s6_addr, sin6->sin6_addr.s6_addr, 
sizeof host_sin6->sin6_addr.s6_addr);
@@ -1714,22 +1672,23 @@ add_target_ip(char *arg, struct sockaddr_storage *in)
        /* fill out the sockaddr_in struct */
        host->rtmin = INFINITY;
        host->rtmax = 0;
-       host->jitter=0;
-       host->jitter_max=0;
-       host->jitter_min=INFINITY;
-       host->last_tdiff=0;
-       host->order_status=STATE_OK;
-       host->last_icmp_seq=0;
-       host->rta_status=0;
-       host->pl_status=0;
-       host->jitter_status=0;
-       host->mos_status=0;
-       host->score_status=0;
-       host->pl_status=0;
-
-
-       if(!list) list = cursor = host;
-       else cursor->next = host;
+       host->jitter = 0;
+       host->jitter_max = 0;
+       host->jitter_min = INFINITY;
+       host->last_tdiff = 0;
+       host->order_status = STATE_OK;
+       host->last_icmp_seq = 0;
+       host->rta_status = 0;
+       host->pl_status = 0;
+       host->jitter_status = 0;
+       host->mos_status = 0;
+       host->score_status = 0;
+       host->pl_status = 0;
+
+       if (!list)
+               list = cursor = host;
+       else
+               cursor->next = host;
 
        cursor = host;
        targets++;
@@ -1738,9 +1697,7 @@ add_target_ip(char *arg, struct sockaddr_storage *in)
 }
 
 /* wrapper for add_target_ip */
-static int
-add_target(char *arg)
-{
+static int add_target(char *arg) {
        int error, result = -1;
        struct sockaddr_storage ip;
        struct addrinfo hints, *res, *p;
@@ -1754,14 +1711,14 @@ add_target(char *arg)
                sin = (struct sockaddr_in *)&ip;
                result = inet_pton(address_family, arg, &sin->sin_addr);
 #ifdef USE_IPV6
-               if( result != 1 ){
+               if (result != 1) {
                        address_family = AF_INET6;
                        sin6 = (struct sockaddr_in6 *)&ip;
                        result = inet_pton(address_family, arg, 
&sin6->sin6_addr);
                }
 #endif
                /* If we don't find any valid addresses, we still don't know 
the address_family */
-               if ( result != 1) {
+               if (result != 1) {
                        address_family = -1;
                }
                break;
@@ -1773,15 +1730,15 @@ add_target(char *arg)
                sin6 = (struct sockaddr_in6 *)&ip;
                result = inet_pton(address_family, arg, &sin6->sin6_addr);
                break;
-       default: crash("Address family not supported");
+       default:
+               crash("Address family not supported");
        }
 
        /* don't resolve if we don't have to */
-       if(result == 1) {
+       if (result == 1) {
                /* don't add all ip's if we were given a specific one */
                return add_target_ip(arg, &ip);
-       }
-       else {
+       } else {
                errno = 0;
                memset(&hints, 0, sizeof(hints));
                if (address_family == -1) {
@@ -1790,7 +1747,7 @@ add_target(char *arg)
                        hints.ai_family = address_family == AF_INET ? PF_INET : 
PF_INET6;
                }
                hints.ai_socktype = SOCK_RAW;
-               if((error = getaddrinfo(arg, NULL, &hints, &res)) != 0) {
+               if ((error = getaddrinfo(arg, NULL, &hints, &res)) != 0) {
                        errno = 0;
                        crash("Failed to resolve %s: %s", arg, 
gai_strerror(error));
                        return -1;
@@ -1799,13 +1756,14 @@ add_target(char *arg)
        }
 
        /* possibly add all the IP's as targets */
-       for(p = res; p != NULL; p = p->ai_next) {
+       for (p = res; p != NULL; p = p->ai_next) {
                memcpy(&ip, p->ai_addr, p->ai_addrlen);
                add_target_ip(arg, &ip);
 
                /* this is silly, but it works */
-               if(mode == MODE_HOSTCHECK || mode == MODE_ALL) {
-                       if(debug > 2) printf("mode: %d\n", mode);
+               if (mode == MODE_HOSTCHECK || mode == MODE_ALL) {
+                       if (debug > 2)
+                               printf("mode: %d\n", mode);
                        continue;
                }
                break;
@@ -1815,24 +1773,20 @@ add_target(char *arg)
        return 0;
 }
 
-static void
-set_source_ip(char *arg)
-{
+static void set_source_ip(char *arg) {
        struct sockaddr_in src;
 
        memset(&src, 0, sizeof(src));
        src.sin_family = address_family;
-       if((src.sin_addr.s_addr = inet_addr(arg)) == INADDR_NONE)
+       if ((src.sin_addr.s_addr = inet_addr(arg)) == INADDR_NONE)
                src.sin_addr.s_addr = get_ip_address(arg);
-       if(bind(icmp_sock, (struct sockaddr *)&src, sizeof(src)) == -1)
+       if (bind(icmp_sock, (struct sockaddr *)&src, sizeof(src)) == -1)
                crash("Cannot bind to IP address %s", arg);
 }
 
 /* TODO: Move this to netutils.c and also change check_dhcp to use that. */
-static in_addr_t
-get_ip_address(const char *ifname)
-{
-  // TODO: Rewrite this so the function return an error and we exit somewhere 
else
+static in_addr_t get_ip_address(const char *ifname) {
+       // TODO: Rewrite this so the function return an error and we exit 
somewhere else
        struct sockaddr_in ip;
        ip.sin_addr.s_addr = 0; // Fake initialization to make compiler happy
 #if defined(SIOCGIFADDR)
@@ -1842,12 +1796,12 @@ get_ip_address(const char *ifname)
 
        ifr.ifr_name[sizeof(ifr.ifr_name) - 1] = '\0';
 
-       if(ioctl(icmp_sock, SIOCGIFADDR, &ifr) == -1)
+       if (ioctl(icmp_sock, SIOCGIFADDR, &ifr) == -1)
                crash("Cannot determine IP address of interface %s", ifname);
 
        memcpy(&ip, &ifr.ifr_addr, sizeof(ip));
 #else
-       (void) ifname;
+       (void)ifname;
        errno = 0;
        crash("Cannot get interface IP address on this platform.");
 #endif
@@ -1860,63 +1814,73 @@ get_ip_address(const char *ifname)
  * s = seconds
  * return value is in microseconds
  */
-static u_int
-get_timevar(const char *str)
-{
+static u_int get_timevar(const char *str) {
        char p, u, *ptr;
        size_t len;
-       u_int i, d;                 /* integer and decimal, respectively */
-       u_int factor = 1000;    /* default to milliseconds */
+       u_int i, d;          /* integer and decimal, respectively */
+       u_int factor = 1000; /* default to milliseconds */
 
-       if(!str) return 0;
+       if (!str)
+               return 0;
        len = strlen(str);
-       if(!len) return 0;
+       if (!len)
+               return 0;
 
        /* unit might be given as ms|m (millisec),
         * us|u (microsec) or just plain s, for seconds */
        p = '\0';
        u = str[len - 1];
-       if(len >= 2 && !isdigit((int)str[len - 2])) p = str[len - 2];
-       if(p && u == 's') u = p;
-       else if(!p) p = u;
-       if(debug > 2) printf("evaluating %s, u: %c, p: %c\n", str, u, p);
-
-       if(u == 'u') factor = 1;            /* microseconds */
-       else if(u == 'm') factor = 1000;        /* milliseconds */
-       else if(u == 's') factor = 1000000;     /* seconds */
-       if(debug > 2) printf("factor is %u\n", factor);
+       if (len >= 2 && !isdigit((int)str[len - 2]))
+               p = str[len - 2];
+       if (p && u == 's')
+               u = p;
+       else if (!p)
+               p = u;
+       if (debug > 2)
+               printf("evaluating %s, u: %c, p: %c\n", str, u, p);
+
+       if (u == 'u')
+               factor = 1; /* microseconds */
+       else if (u == 'm')
+               factor = 1000; /* milliseconds */
+       else if (u == 's')
+               factor = 1000000; /* seconds */
+       if (debug > 2)
+               printf("factor is %u\n", factor);
 
        i = strtoul(str, &ptr, 0);
-       if(!ptr || *ptr != '.' || strlen(ptr) < 2 || factor == 1)
+       if (!ptr || *ptr != '.' || strlen(ptr) < 2 || factor == 1)
                return i * factor;
 
        /* time specified in usecs can't have decimal points, so ignore them */
-       if(factor == 1) return i;
+       if (factor == 1)
+               return i;
 
        d = strtoul(ptr + 1, NULL, 0);
 
        /* d is decimal, so get rid of excess digits */
-       while(d >= factor) d /= 10;
+       while (d >= factor)
+               d /= 10;
 
        /* the last parenthesis avoids floating point exceptions. */
        return ((i * factor) + (d * (factor / 10)));
 }
 
 /* not too good at checking errors, but it'll do (main() should barfe on -1) */
-static int
-get_threshold(char *str, threshold *th)
-{
+static int get_threshold(char *str, threshold *th) {
        char *p = NULL, i = 0;
 
-       if(!str || !strlen(str) || !th) return -1;
+       if (!str || !strlen(str) || !th)
+               return -1;
 
        /* pointer magic slims code by 10 lines. i is bof-stop on stupid libc's 
*/
        p = &str[strlen(str) - 1];
-       while(p != &str[1]) {
-               if(*p == '%') *p = '\0';
-               else if(*p == ',' && i) {
-                       *p = '\0';      /* reset it so get_timevar(str) works 
nicely later */
-                       th->pl = (unsigned char)strtoul(p+1, NULL, 0);
+       while (p != &str[1]) {
+               if (*p == '%')
+                       *p = '\0';
+               else if (*p == ',' && i) {
+                       *p = '\0'; /* reset it so get_timevar(str) works nicely 
later */
+                       th->pl = (unsigned char)strtoul(p + 1, NULL, 0);
                        break;
                }
                i = 1;
@@ -1924,10 +1888,13 @@ get_threshold(char *str, threshold *th)
        }
        th->rta = get_timevar(str);
 
-       if(!th->rta) return -1;
+       if (!th->rta)
+               return -1;
 
-       if(th->rta > MAXTTL * 1000000) th->rta = MAXTTL * 1000000;
-       if(th->pl > 100) th->pl = 100;
+       if (th->rta > MAXTTL * 1000000)
+               th->rta = MAXTTL * 1000000;
+       if (th->pl > 100)
+               th->pl = 100;
 
        return 0;
 }
@@ -1943,8 +1910,8 @@ get_threshold(char *str, threshold *th)
  * @param[in] mode Determines whether this a threshold for rta, packet_loss, 
jitter, mos or score (exclusively)
  */
 static bool get_threshold2(char *str, size_t length, threshold *warn, 
threshold *crit, threshold_mode mode) {
-       if (!str || !length || !warn || !crit) return false;
-
+       if (!str || !length || !warn || !crit)
+               return false;
 
        // p points to the last char in str
        char *p = &str[length - 1];
@@ -1952,18 +1919,17 @@ static bool get_threshold2(char *str, size_t length, 
threshold *warn, threshold
        // first_iteration is bof-stop on stupid libc's
        bool first_iteration = true;
 
-       while(p != &str[0]) {
-               if( (*p == 'm') || (*p == '%') ) {
+       while (p != &str[0]) {
+               if ((*p == 'm') || (*p == '%')) {
                        *p = '\0';
-               } else if(*p == ',' && !first_iteration) {
-                       *p = '\0';      /* reset it so get_timevar(str) works 
nicely later */
+               } else if (*p == ',' && !first_iteration) {
+                       *p = '\0'; /* reset it so get_timevar(str) works nicely 
later */
 
                        char *start_of_value = p + 1;
 
-                       if (!parse_threshold2_helper(start_of_value, 
strlen(start_of_value), crit, mode)){
+                       if (!parse_threshold2_helper(start_of_value, 
strlen(start_of_value), crit, mode)) {
                                return false;
                        }
-
                }
                first_iteration = false;
                p--;
@@ -1976,22 +1942,22 @@ static bool parse_threshold2_helper(char *s, size_t 
length, threshold *thr, thre
        char *resultChecker = {0};
 
        switch (mode) {
-               case const_rta_mode:
-                       thr->rta = strtod(s, &resultChecker) * 1000;
-                       break;
-               case const_packet_loss_mode:
-                       thr->pl = (unsigned char)strtoul(s, &resultChecker, 0);
-                       break;
-               case const_jitter_mode:
-                       thr->jitter = strtod(s, &resultChecker);
+       case const_rta_mode:
+               thr->rta = strtod(s, &resultChecker) * 1000;
+               break;
+       case const_packet_loss_mode:
+               thr->pl = (unsigned char)strtoul(s, &resultChecker, 0);
+               break;
+       case const_jitter_mode:
+               thr->jitter = strtod(s, &resultChecker);
 
-                       break;
-               case const_mos_mode:
-                       thr->mos = strtod(s, &resultChecker);
-                       break;
-               case const_score_mode:
-                       thr->score = strtod(s, &resultChecker);
-                       break;
+               break;
+       case const_mos_mode:
+               thr->mos = strtod(s, &resultChecker);
+               break;
+       case const_score_mode:
+               thr->score = strtod(s, &resultChecker);
+               break;
        }
 
        if (resultChecker == s) {
@@ -2007,123 +1973,116 @@ static bool parse_threshold2_helper(char *s, size_t 
length, threshold *thr, thre
        return true;
 }
 
-unsigned short
-icmp_checksum(uint16_t *p, size_t n)
-{
+unsigned short icmp_checksum(uint16_t *p, size_t n) {
        unsigned short cksum;
        long sum = 0;
 
        /* sizeof(uint16_t) == 2 */
-       while(n >= 2) {
+       while (n >= 2) {
                sum += *(p++);
                n -= 2;
        }
 
        /* mop up the occasional odd byte */
-       if(n == 1) sum += *((uint8_t *)p -1);
+       if (n == 1)
+               sum += *((uint8_t *)p - 1);
 
-       sum = (sum >> 16) + (sum & 0xffff);     /* add hi 16 to low 16 */
-       sum += (sum >> 16);                     /* add carry */
-       cksum = ~sum;                           /* ones-complement, trunc to 16 
bits */
+       sum = (sum >> 16) + (sum & 0xffff); /* add hi 16 to low 16 */
+       sum += (sum >> 16);                 /* add carry */
+       cksum = ~sum;                       /* ones-complement, trunc to 16 
bits */
 
        return cksum;
 }
 
-void
-print_help(void)
-{
+void print_help(void) {
        /*print_revision (progname);*/ /* FIXME: Why? */
-       printf ("Copyright (c) 2005 Andreas Ericsson <[email protected]>\n");
-
-       printf (COPYRIGHT, copyright, email);
-
-       printf ("\n\n");
-
-       print_usage ();
-
-       printf (UT_HELP_VRSN);
-       printf (UT_EXTRA_OPTS);
-
-       printf (" %s\n", "-H");
-       printf ("    %s\n", _("specify a target"));
-       printf (" %s\n", "[-4|-6]");
-       printf ("    %s\n", _("Use IPv4 (default) or IPv6 to communicate with 
the targets"));
-       printf (" %s\n", "-w");
-       printf ("    %s", _("warning threshold (currently "));
-       printf ("%0.3fms,%u%%)\n", (float)warn.rta / 1000, warn.pl);
-       printf (" %s\n", "-c");
-       printf ("    %s", _("critical threshold (currently "));
-       printf ("%0.3fms,%u%%)\n", (float)crit.rta / 1000, crit.pl);
-
-       printf (" %s\n", "-R");
-       printf ("    %s\n", _("RTA, round trip average,  mode  
warning,critical, ex. 100ms,200ms unit in ms"));
-       printf (" %s\n", "-P");
-       printf ("    %s\n", _("packet loss mode, ex. 40%,50% , unit in %"));
-       printf (" %s\n", "-J");
-       printf ("    %s\n", _("jitter mode  warning,critical, ex. 
40.000ms,50.000ms , unit in ms "));
-       printf (" %s\n", "-M");
-       printf ("    %s\n", _("MOS mode, between 0 and 4.4  warning,critical, 
ex. 3.5,3.0"));
-       printf (" %s\n", "-S");
-       printf ("    %s\n", _("score  mode, max value 100  warning,critical, 
ex. 80,70 "));
-       printf (" %s\n", "-O");
-       printf ("    %s\n", _("detect out of order ICMP packts "));
-       printf (" %s\n", "-H");
-       printf ("    %s\n", _("specify a target"));
-       printf (" %s\n", "-s");
-       printf ("    %s\n", _("specify a source IP address or device name"));
-       printf (" %s\n", "-n");
-       printf ("    %s", _("number of packets to send (currently "));
-       printf ("%u)\n",packets);
-       printf (" %s\n", "-p");
-       printf ("    %s", _("number of packets to send (currently "));
-       printf ("%u)\n",packets);
-       printf (" %s\n", "-i");
-       printf ("    %s", _("max packet interval (currently "));
-       printf ("%0.3fms)\n",(float)pkt_interval / 1000);
-       printf (" %s\n", "-I");
-       printf ("    %s", _("max target interval (currently "));
-       printf ("%0.3fms)\n", (float)target_interval / 1000);
-       printf (" %s\n", "-m");
-       printf ("    %s",_("number of alive hosts required for success"));
-       printf ("\n");
-       printf (" %s\n", "-l");
-       printf ("    %s", _("TTL on outgoing packets (currently "));
-       printf ("%u)\n", ttl);
-       printf (" %s\n", "-t");
-       printf ("    %s",_("timeout value (seconds, currently  "));
-       printf ("%u)\n", timeout);
-       printf (" %s\n", "-b");
-       printf ("    %s\n", _("Number of icmp data bytes to send"));
-       printf ("    %s %u + %d)\n", _("Packet size will be data bytes + icmp 
header (currently"),icmp_data_size, ICMP_MINLEN);
-       printf (" %s\n", "-v");
-       printf ("    %s\n", _("verbose"));
-       printf ("\n");
-       printf ("%s\n", _("Notes:"));
-       printf (" %s\n", _("If none of R,P,J,M,S or O is specified, default 
behavior is -R -P"));
-       printf (" %s\n", _("The -H switch is optional. Naming a host (or 
several) to check is not."));
-       printf ("\n");
-       printf (" %s\n", _("Threshold format for -w and -c is 200.25,60% for 
200.25 msec RTA and 60%"));
-       printf (" %s\n", _("packet loss.  The default values should work well 
for most users."));
-       printf (" %s\n", _("You can specify different RTA factors using the 
standardized abbreviations"));
-       printf (" %s\n", _("us (microseconds), ms (milliseconds, default) or 
just plain s for seconds."));
+       printf("Copyright (c) 2005 Andreas Ericsson <[email protected]>\n");
+
+       printf(COPYRIGHT, copyright, email);
+
+       printf("\n\n");
+
+       print_usage();
+
+       printf(UT_HELP_VRSN);
+       printf(UT_EXTRA_OPTS);
+
+       printf(" %s\n", "-H");
+       printf("    %s\n", _("specify a target"));
+       printf(" %s\n", "[-4|-6]");
+       printf("    %s\n", _("Use IPv4 (default) or IPv6 to communicate with 
the targets"));
+       printf(" %s\n", "-w");
+       printf("    %s", _("warning threshold (currently "));
+       printf("%0.3fms,%u%%)\n", (float)warn.rta / 1000, warn.pl);
+       printf(" %s\n", "-c");
+       printf("    %s", _("critical threshold (currently "));
+       printf("%0.3fms,%u%%)\n", (float)crit.rta / 1000, crit.pl);
+
+       printf(" %s\n", "-R");
+       printf("    %s\n", _("RTA, round trip average,  mode  warning,critical, 
ex. 100ms,200ms unit in ms"));
+       printf(" %s\n", "-P");
+       printf("    %s\n", _("packet loss mode, ex. 40%,50% , unit in %"));
+       printf(" %s\n", "-J");
+       printf("    %s\n", _("jitter mode  warning,critical, ex. 
40.000ms,50.000ms , unit in ms "));
+       printf(" %s\n", "-M");
+       printf("    %s\n", _("MOS mode, between 0 and 4.4  warning,critical, 
ex. 3.5,3.0"));
+       printf(" %s\n", "-S");
+       printf("    %s\n", _("score  mode, max value 100  warning,critical, ex. 
80,70 "));
+       printf(" %s\n", "-O");
+       printf("    %s\n", _("detect out of order ICMP packts "));
+       printf(" %s\n", "-H");
+       printf("    %s\n", _("specify a target"));
+       printf(" %s\n", "-s");
+       printf("    %s\n", _("specify a source IP address or device name"));
+       printf(" %s\n", "-n");
+       printf("    %s", _("number of packets to send (currently "));
+       printf("%u)\n", packets);
+       printf(" %s\n", "-p");
+       printf("    %s", _("number of packets to send (currently "));
+       printf("%u)\n", packets);
+       printf(" %s\n", "-i");
+       printf("    %s", _("max packet interval (currently "));
+       printf("%0.3fms)\n", (float)pkt_interval / 1000);
+       printf(" %s\n", "-I");
+       printf("    %s", _("max target interval (currently "));
+       printf("%0.3fms)\n", (float)target_interval / 1000);
+       printf(" %s\n", "-m");
+       printf("    %s", _("number of alive hosts required for success"));
+       printf("\n");
+       printf(" %s\n", "-l");
+       printf("    %s", _("TTL on outgoing packets (currently "));
+       printf("%u)\n", ttl);
+       printf(" %s\n", "-t");
+       printf("    %s", _("timeout value (seconds, currently  "));
+       printf("%u)\n", timeout);
+       printf(" %s\n", "-b");
+       printf("    %s\n", _("Number of icmp data bytes to send"));
+       printf("    %s %u + %d)\n", _("Packet size will be data bytes + icmp 
header (currently"), icmp_data_size, ICMP_MINLEN);
+       printf(" %s\n", "-v");
+       printf("    %s\n", _("verbose"));
+       printf("\n");
+       printf("%s\n", _("Notes:"));
+       printf(" %s\n", _("If none of R,P,J,M,S or O is specified, default 
behavior is -R -P"));
+       printf(" %s\n", _("The -H switch is optional. Naming a host (or 
several) to check is not."));
+       printf("\n");
+       printf(" %s\n", _("Threshold format for -w and -c is 200.25,60% for 
200.25 msec RTA and 60%"));
+       printf(" %s\n", _("packet loss.  The default values should work well 
for most users."));
+       printf(" %s\n", _("You can specify different RTA factors using the 
standardized abbreviations"));
+       printf(" %s\n", _("us (microseconds), ms (milliseconds, default) or 
just plain s for seconds."));
        /* -d not yet implemented */
        /*  printf ("%s\n", _("Threshold format for -d is warn,crit.  12,14 
means WARNING if >= 12 hops"));
                        printf ("%s\n", _("are spent and CRITICAL if >= 14 hops 
are spent."));
                        printf ("%s\n\n", _("NOTE: Some systems decrease TTL 
when forming ICMP_ECHOREPLY, others do not."));*/
-       printf ("\n");
-       printf (" %s\n", _("The -v switch can be specified several times for 
increased verbosity."));
+       printf("\n");
+       printf(" %s\n", _("The -v switch can be specified several times for 
increased verbosity."));
        /*  printf ("%s\n", _("Long options are currently unsupported."));
                        printf ("%s\n", _("Options marked with * require an 
argument"));
                        */
 
-       printf (UT_SUPPORT);
+       printf(UT_SUPPORT);
 }
 
-
-
-void
-print_usage (void)
-{
-       printf ("%s\n", _("Usage:"));
+void print_usage(void) {
+       printf("%s\n", _("Usage:"));
        printf(" %s [options] [-H] host1 host2 hostN\n", progname);
 }


Reply via email to