X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=plugins%2Fnegate.c;h=3e4c493ea6adc1fd749d555b17f0ac35e5ee45b3;hb=831d03cd768cb4d1f96d3cabd6262a0a55f904e7;hp=454ac963570f9705678330d7b7e99b75f4375df6;hpb=0c3386274ef5002dffc20337ef02407f24d7400c;p=nagiosplug.git diff --git a/plugins/negate.c b/plugins/negate.c index 454ac96..3e4c493 100644 --- a/plugins/negate.c +++ b/plugins/negate.c @@ -31,7 +31,7 @@ const char *progname = "negate"; #define SUMMARY "Negates the status of a plugin (returns OK for CRITICAL, and vice-versa).\n" #define OPTIONS "\ -\[-t timeout] " +[-t timeout] " #define LONGOPTIONS "\ -t, --timeout=INTEGER\n\ @@ -117,7 +117,7 @@ main (int argc, char **argv) char input_buffer[MAX_INPUT_BUFFER]; if (process_arguments (argc, argv) == ERROR) - usage ("Could not parse arguments"); + usage ("Could not parse arguments\n"); /* Set signal handling and alarm */ if (signal (SIGALRM, timeout_alarm_handler) == SIG_ERR) @@ -189,13 +189,8 @@ void print_usage (void) { printf ("Usage:\n" " %s %s\n" -#ifdef HAVE_GETOPT_H " %s (-h | --help) for detailed help\n" " %s (-V | --version) for version information\n", -#else - " %s -h for detailed help\n" - " %s -V for version information\n", -#endif progname, OPTIONS, progname, progname); } @@ -222,7 +217,6 @@ process_arguments (int argc, char **argv) { int c; -#ifdef HAVE_GETOPT_H int option_index = 0; static struct option long_options[] = { {"help", no_argument, 0, 'h'}, @@ -230,15 +224,11 @@ process_arguments (int argc, char **argv) {"timeout", required_argument, 0, 't'}, {0, 0, 0, 0} }; -#endif while (1) { -#ifdef HAVE_GETOPT_H c = getopt_long (argc, argv, "hVt:", long_options, &option_index); -#else - c = getopt (argc, argv, "hVt:"); -#endif + if (c == -1 || c == EOF) break; @@ -259,8 +249,8 @@ process_arguments (int argc, char **argv) } } - command_line = strscpy (command_line, argv[optind]); - for (c = optind+1; c <= argc; c++) { + asprintf (&command_line, "%s", argv[optind]); + for (c = optind+1; c < argc; c++) { asprintf (&command_line, "%s %s", command_line, argv[c]); } @@ -282,6 +272,8 @@ process_arguments (int argc, char **argv) int validate_arguments () { + if (command_line == NULL) + return ERROR; return STATE_OK; }