X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=plugins%2Fcheck_udp.c;h=da9a142027e3e5876bbe052f8a4915fef34826a0;hb=11b35b92e3195d230bef359f6a0679ae4414716b;hp=d00ce9c345fc94449e0f3173f795034f34edb24f;hpb=44a321cb8a42d6c0ea2d96a1086a17f2134c89cc;p=nagiosplug.git diff --git a/plugins/check_udp.c b/plugins/check_udp.c index d00ce9c..da9a142 100644 --- a/plugins/check_udp.c +++ b/plugins/check_udp.c @@ -41,7 +41,7 @@ #include "netutils.h" #include "utils.h" -#define PROGNAME "check_udp" +const char *progname = "check_udp"; int warning_time = 0; int check_warning_time = FALSE; @@ -49,7 +49,6 @@ int critical_time = 0; int check_critical_time = FALSE; int process_arguments (int, char **); -int call_getopt (int, char **); void print_usage (void); void print_help (void); @@ -57,7 +56,7 @@ int verbose = FALSE; int server_port = 0; char *server_address = NULL; char *server_expect = NULL; -char *server_send = NULL; +char *server_send = ""; int main (int argc, char **argv) @@ -75,9 +74,8 @@ main (int argc, char **argv) alarm (socket_timeout); time (&start_time); - result = - process_udp_request (server_address, server_port, server_send, - recv_buffer, MAX_INPUT_BUFFER - 1); + result = process_udp_request (server_address, server_port, server_send, + recv_buffer, MAX_INPUT_BUFFER - 1); time (&end_time); if (result != STATE_OK) { @@ -126,52 +124,6 @@ process_arguments (int argc, char **argv) { int c; - if (argc < 2) - usage ("\n"); - - for (c = 1; c < argc; c++) { - if (strcmp ("-to", argv[c]) == 0) - strcpy (argv[c], "-t"); - else if (strcmp ("-wt", argv[c]) == 0) - strcpy (argv[c], "-w"); - else if (strcmp ("-ct", argv[c]) == 0) - strcpy (argv[c], "-c"); - } - - c = 0; - while ((c += call_getopt (argc - c, &argv[c])) < argc) { - - if (is_option (argv[c])) - continue; - - if (server_address == NULL) { - if (argc > c) { - if (is_host (argv[c]) == FALSE) - usage ("Invalid host name/address\n"); - server_address = argv[c]; - } - else { - usage ("Host name was not supplied\n"); - } - } - } - - if (server_send == NULL) - server_send = strscpy (server_send, ""); - - return OK; -} - - - - - -int -call_getopt (int argc, char **argv) -{ - int c, i = 0; - -#ifdef HAVE_GETOPT_H int option_index = 0; static struct option long_options[] = { {"hostname", required_argument, 0, 'H'}, @@ -186,43 +138,35 @@ call_getopt (int argc, char **argv) {"help", no_argument, 0, 'h'}, {0, 0, 0, 0} }; -#endif - while (1) { -#ifdef HAVE_GETOPT_H - c = - getopt_long (argc, argv, "+hVvH:e:s:c:w:t:p:", long_options, - &option_index); -#else - c = getopt (argc, argv, "+hVvH:e:s:c:w:t:p:"); -#endif + if (argc < 2) + usage ("\n"); + + for (c = 1; c < argc; c++) { + if (strcmp ("-to", argv[c]) == 0) + strcpy (argv[c], "-t"); + else if (strcmp ("-wt", argv[c]) == 0) + strcpy (argv[c], "-w"); + else if (strcmp ("-ct", argv[c]) == 0) + strcpy (argv[c], "-c"); + } - i++; + while (1) { + c = getopt_long (argc, argv, "+hVvH:e:s:c:w:t:p:", long_options, &option_index); if (c == -1 || c == EOF || c == 1) break; - switch (c) { - case 'H': - case 'c': - case 'w': - case 't': - case 'p': - case 'e': - case 's': - i++; - } - switch (c) { case '?': /* print short usage statement if args not parsable */ - printf ("%s: Unknown argument: %s\n\n", my_basename (argv[0]), optarg); + printf ("%s: Unknown argument: %s\n\n", progname, optarg); print_usage (); exit (STATE_UNKNOWN); case 'h': /* help */ print_help (); exit (STATE_OK); case 'V': /* version */ - print_revision (my_basename (argv[0]), "$Revision$"); + print_revision (progname, "$Revision$"); exit (STATE_OK); case 'v': /* verbose mode */ verbose = TRUE; @@ -262,7 +206,18 @@ call_getopt (int argc, char **argv) break; } } - return i; + + c = optind; + if (server_address == NULL && c < argc && argv[c]) { + if (is_host (argv[c]) == FALSE) + usage ("Invalid host name/address\n"); + server_address = argv[c++]; + } + + if (server_address == NULL) + usage ("Host name was not supplied\n"); + + return c; } @@ -274,7 +229,7 @@ print_usage (void) { printf ("Usage: %s -H [-p port] [-w warn_time] [-c crit_time]\n" - " [-e expect] [-s send] [-t to_sec] [-v]\n", PROGNAME); + " [-e expect] [-s send] [-t to_sec] [-v]\n", progname); } @@ -284,7 +239,7 @@ print_usage (void) void print_help (void) { - print_revision (PROGNAME, "$Revision$"); + print_revision (progname, "$Revision$"); printf ("Copyright (c) 1999 Ethan Galstad (nagios@nagios.org)\n\n" "This plugin tests an UDP connection with the specified host.\n\n");