diff options
Diffstat (limited to 'plugins/check_ping.c')
-rw-r--r-- | plugins/check_ping.c | 20 |
1 files changed, 17 insertions, 3 deletions
diff --git a/plugins/check_ping.c b/plugins/check_ping.c index 2526a74f..54402ae3 100644 --- a/plugins/check_ping.c +++ b/plugins/check_ping.c @@ -104,11 +104,25 @@ main (int argc, char **argv) for (i = 0 ; i < n_addresses ; i++) { /* does the host address of number of packets argument come first? */ -#ifdef PING_PACKETS_FIRST +#ifdef PING6_COMMAND +# ifdef PING_PACKETS_FIRST + if (is_inet6_addr(addresses[i])) + asprintf (&command_line, PING6_COMMAND, max_packets, addresses[i]); + else + asprintf (&command_line, PING_COMMAND, max_packets, addresses[i]); +# else + if (is_inet6_addr(addresses[i])) + asprintf (&command_line, PING6_COMMAND, addresses[i], max_packets); + else + asprintf (&command_line, PING_COMMAND, addresses[i], max_packets); +# endif +#else /* USE_IPV6 */ +# ifdef PING_PACKETS_FIRST asprintf (&command_line, PING_COMMAND, max_packets, addresses[i]); -#else +# else asprintf (&command_line, PING_COMMAND, addresses[i], max_packets); -#endif +# endif +#endif /* USE_IPV6 */ if (verbose) printf ("%s ==> ", command_line); |