X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=plugins%2Fcheck_nt.c;h=cac826f5502a0eaa53abf4f18855d443e045b408;hb=6ecaa524bf28b5fb861b161ea075a11119cb3bd2;hp=2cc45cda5535e9317dde51a90f5615a6d8abbe7c;hpb=fa002886e390f5cc603021e422be3c319a1040ea;p=nagiosplug.git diff --git a/plugins/check_nt.c b/plugins/check_nt.c index 2cc45cd..cac826f 100644 --- a/plugins/check_nt.c +++ b/plugins/check_nt.c @@ -103,7 +103,7 @@ int main(int argc, char **argv){ unsigned long utilization; unsigned long uptime; unsigned long age_in_minutes; - double counter_value; + double counter_value = 0.0; int offset=0; int updays=0; int uphours=0; @@ -116,7 +116,7 @@ int main(int argc, char **argv){ bindtextdomain (PACKAGE, LOCALEDIR); textdomain (PACKAGE); - if(process_arguments(argc,argv) != TRUE) + if(process_arguments(argc,argv) == ERROR) usage4 (_("Could not parse arguments")); /* initialize alarm signal handling */ @@ -356,7 +356,12 @@ int main(int argc, char **argv){ { /* Let's format the output string, finally... */ - asprintf (&output_message, "%s = %.2f %s", description, counter_value, counter_unit); + if (strstr(description, "%") == NULL) { + asprintf (&output_message, "%s = %.2f %s", description, counter_value, counter_unit); + } else { + /* has formatting, will segv if wrong */ + asprintf (&output_message, description, counter_value); + } output_message = strcat (output_message, "|"); output_message = strcat (output_message, fperfdata (description, counter_value, counter_unit, @@ -418,7 +423,7 @@ int main(int argc, char **argv){ case CHECK_NONE: default: - usage (_("Please specify a variable to check")); + usage4 (_("Please specify a variable to check")); break; } @@ -482,14 +487,12 @@ int process_arguments(int argc, char **argv){ switch (c) { case '?': /* print short usage statement if args not parsable */ - printf("%s: Unknown argument: %s\n\n",progname,optarg); - print_usage(); - exit(STATE_UNKNOWN); + usage2 (_("Unknown argument"), optarg); case 'h': /* help */ print_help(); exit(STATE_OK); case 'V': /* version */ - print_revision(progname,"$Revision$"); + print_revision(progname,revision); exit(STATE_OK); case 'H': /* hostname */ if (server_address) free(server_address); @@ -502,7 +505,7 @@ int process_arguments(int argc, char **argv){ if (is_intnonneg(optarg)) server_port=atoi(optarg); else - die(STATE_UNKNOWN,_("Server port an integer (seconds)\nType '%s -h' for additional help\n"),progname); + die(STATE_UNKNOWN,_("Server port must be an integer\n")); break; case 'v': if(strlen(optarg)<4) @@ -568,7 +571,7 @@ void fetch_data (const char *address, int port, const char *sendb) { result=process_tcp_request(address, port, sendb, recv_buffer,sizeof(recv_buffer)); if(result!=STATE_OK) - die (result, "could not fetch information from server\n"); + die (result, _("could not fetch information from server\n")); if (!strncmp(recv_buffer,"ERROR",5)) die (STATE_UNKNOWN, "NSClient - %s\n",recv_buffer); @@ -608,11 +611,15 @@ void preparelist(char *string) { void print_help(void) { print_revision(progname,revision); - printf (_("\ -Copyright (c) 2000 Yves Rubin (rubiyz@yahoo.com)\n\n\ -This plugin collects data from the NSClient service running on a\n\ -Windows NT/2000/XP server.\n\n")); + + printf ("Copyright (c) 2000 Yves Rubin (rubiyz@yahoo.com)\n"); + printf (COPYRIGHT, copyright, email); + + printf (_("This plugin collects data from the NSClient service running on a\n\ +Windows NT/2000/XP/2003 server.\n\n")); + print_usage(); + printf (_("\nOptions:\n\ -H, --hostname=HOST\n\ Name of the host to check\n\ @@ -629,8 +636,8 @@ Windows NT/2000/XP server.\n\n")); -h, --help\n\ Print this help screen\n\ -V, --version\n\ - Print version information\n"), - PORT, DEFAULT_SOCKET_TIMEOUT); + Print version information\n"), PORT, DEFAULT_SOCKET_TIMEOUT); + printf (_("\ -v, --variable=STRING\n\ Variable to check. Valid variables are:\n")); @@ -668,7 +675,8 @@ Windows NT/2000/XP server.\n\n")); Request a -l parameters with the following syntax:\n\ -l \"\\\\\\\\counter\",\"\n\ The parameter is optional and \n\ - is given to a printf output command which require a float parameters.\n\ + is given to a printf output command which requires a float parameter.\n\ + If does not include \"%%\", it is used as a label.\n\ Some examples:\n\ \"Paging file usage is %%.2f %%%%\"\n\ \"%%.f %%%% paging file used.\"\n")); @@ -684,7 +692,5 @@ void print_usage(void) { printf("\ Usage: %s -H host -v variable [-p port] [-w warning] [-c critical]\n\ - [-l params] [-d SHOWALL] [-t timeout]\n", progname); - - printf (UT_HLP_VRS, progname, progname); + [-l params] [-d SHOWALL] [-t timeout]\n", progname); }