X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=plugins%2Fcheck_nt.c;h=1bdddc45a4b1ce517fe16dcf8e8f0a982dfb79ed;hb=d4c0948266f261525e12c58d58e0fc68987a9818;hp=f142675614b78f1731e87afe634ebc870102c187;hpb=016d33230eb4fffd7e1f5644ce4901cb4d01f4e3;p=nagiosplug.git diff --git a/plugins/check_nt.c b/plugins/check_nt.c index f142675..1bdddc4 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 */ @@ -355,14 +355,18 @@ int main(int argc, char **argv){ if (allRight) { /* Let's format the output string, finally... */ - - asprintf (&output_message, "%s = %.2f %s", description, counter_value, counter_unit); - output_message = strcat (output_message, "|"); - output_message = strcat (output_message, - fperfdata (description, counter_value, counter_unit, - 1, warning_value, 1, critical_value, - (!(isPercent) && (minval != NULL)), fminval, - (!(isPercent) && (minval != NULL)), fmaxval)); + 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); + } + asprintf (&output_message, "%s |", output_message); + asprintf (&output_message,"%s %s", output_message, + fperfdata (description, counter_value, + counter_unit, 1, warning_value, 1, critical_value, + (!(isPercent) && (minval != NULL)), fminval, + (!(isPercent) && (minval != NULL)), fmaxval)); } } @@ -418,7 +422,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 +486,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 +504,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 +570,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); @@ -607,12 +609,16 @@ 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")); + print_revision(progname,revision); + + 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 +635,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 +674,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")); @@ -682,8 +689,7 @@ Windows NT/2000/XP server.\n\n")); void print_usage(void) { - printf(_("\ + 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); }