X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=plugins%2Fcheck_ping.c;h=6b566608961059c90c8206a8ee94fdcdca347cf9;hb=20d0154211fa46028383ed3a88b558731313c389;hp=50878337118d22db9af5022d7170e2226375bb3e;hpb=afb0e811bfffdd999f06e0c4b33aba6455b53300;p=nagiosplug.git diff --git a/plugins/check_ping.c b/plugins/check_ping.c index 5087833..6b56660 100644 --- a/plugins/check_ping.c +++ b/plugins/check_ping.c @@ -53,7 +53,7 @@ char **addresses = NULL; int n_addresses; int max_addr = 1; int max_packets = -1; -int verbose = FALSE; +int verbose = 0; float rta = UNKNOWN_TRIP_TIME; int pl = UNKNOWN_PACKET_LOSS; @@ -71,6 +71,7 @@ main (int argc, char **argv) int this_result = STATE_UNKNOWN; int i; + setlocale (LC_ALL, ""); setlocale (LC_NUMERIC, "C"); bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); @@ -111,8 +112,8 @@ main (int argc, char **argv) asprintf (&cmd, rawcmd, addresses[i], max_packets); #endif - if (verbose) - printf ("%s ==> ", cmd); + if (verbose >= 2) + printf ("CMD: %s\n", cmd); /* run the command */ this_result = run_ping (cmd, addresses[i]); @@ -145,7 +146,7 @@ main (int argc, char **argv) printf (""); printf ("\n"); - if (verbose) + if (verbose >= 2) printf ("%f:%d%% %f:%d%%\n", wrta, wpl, crta, cpl); result = max_state (result, this_result); @@ -207,7 +208,7 @@ process_arguments (int argc, char **argv) timeout_interval = atoi (optarg); break; case 'v': /* verbose mode */ - verbose = TRUE; + verbose++; break; case '4': /* IPv4 only */ address_family = AF_INET; @@ -411,15 +412,20 @@ run_ping (const char *cmd, const char *addr) while (fgets (buf, MAX_INPUT_BUFFER - 1, child_process)) { + if (verbose >= 3) + printf("Output: %s", buf); + result = max_state (result, error_scan (buf, addr)); /* get the percent loss statistics */ if(sscanf(buf,"%*d packets transmitted, %*d packets received, +%*d errors, %d%% packet loss",&pl)==1 || - sscanf(buf,"%*d packets transmitted, %*d packets received, %d%% packet loss",&pl)==1 || + sscanf(buf,"%*d packets transmitted, %*d packets received, +%*d duplicates, %d%% packet loss", &pl) == 1 || + sscanf(buf,"%*d packets transmitted, %*d received, +%*d duplicates, %d%% packet loss", &pl) == 1 || + sscanf(buf,"%*d packets transmitted, %*d packets received, %d%% packet loss",&pl)==1 || sscanf(buf,"%*d packets transmitted, %*d packets received, %d%% loss, time",&pl)==1 || sscanf(buf,"%*d packets transmitted, %*d received, %d%% loss, time", &pl)==1 || sscanf(buf,"%*d packets transmitted, %*d received, %d%% packet loss, time", &pl)==1 || - sscanf(buf,"%*d packets transmitted, %*d received, +%*d errors, %d%% packet loss", &pl) == 1 || + sscanf(buf,"%*d packets transmitted, %*d received, +%*d errors, %d%% packet loss", &pl) == 1 || sscanf(buf,"%*d packets transmitted %*d received, +%*d errors, %d%% packet loss", &pl) == 1 ) continue;