diff options
-rw-r--r-- | plugins/check_mysql.c | 102 | ||||
-rw-r--r-- | plugins/check_real.c | 105 | ||||
-rw-r--r-- | plugins/check_ups.c | 15 |
3 files changed, 73 insertions, 149 deletions
diff --git a/plugins/check_mysql.c b/plugins/check_mysql.c index 50836f91..a4a2ed1d 100644 --- a/plugins/check_mysql.c +++ b/plugins/check_mysql.c @@ -15,6 +15,8 @@ ******************************************************************************/ #define PROGNAME "check_mysql" +#define REVISION "$Revision$" +#define COPYRIGHT "1999-2002" #include "common.h" #include "utils.h" @@ -22,14 +24,13 @@ #include <mysql/mysql.h> #include <mysql/errmsg.h> -char *db_user = NULL; -char *db_host = NULL; -char *db_pass = NULL; -char *db = NULL; +char *db_user = ""; +char *db_host = ""; +char *db_pass = ""; +char *db = ""; unsigned int db_port = MYSQL_PORT; int process_arguments (int, char **); -int call_getopt (int, char **); int validate_arguments (void); int check_disk (int usp, int free_disk); void print_help (void); @@ -126,48 +127,6 @@ process_arguments (int argc, char **argv) { int c; - if (argc < 1) - return ERROR; - - c = 0; - while ((c += (call_getopt (argc - c, &argv[c]))) < argc) { - - if (is_option (argv[c])) - continue; - - if (db_host == NULL) - if (is_host (argv[c])) { - db_host = argv[c]; - } - else { - usage ("Invalid host name"); - } - else if (db_user == NULL) - db_user = argv[c]; - else if (db_pass == NULL) - db_pass = argv[c]; - else if (db == NULL) - db = argv[c]; - else if (is_intnonneg (argv[c])) - db_port = atoi (argv[c]); - } - - if (db_host == NULL) - db_host = strscpy (db_host, "127.0.0.1"); - - return validate_arguments (); -} - - - - - - -int -call_getopt (int argc, char **argv) -{ - int c, i = 0; - #ifdef HAVE_GETOPT_H int option_index = 0; static struct option long_options[] = { @@ -183,29 +142,21 @@ call_getopt (int argc, char **argv) }; #endif + if (argc < 1) + return ERROR; + while (1) { #ifdef HAVE_GETOPT_H c = - getopt_long (argc, argv, "+hVP:p:u:d:H:", long_options, &option_index); + getopt_long (argc, argv, "hVP:p:u:d:H:", long_options, &option_index); #else - c = getopt (argc, argv, "+?hVP:p:u:d:H:"); + c = getopt (argc, argv, "hVP:p:u:d:H:"); #endif - i++; - - if (c == -1 || c == EOF || c == 1) + if (c == -1 || c == EOF) break; switch (c) { - case 'P': - case 'p': - case 'u': - case 'd': - case 'H': - i++; - } - - switch (c) { case 'H': /* hostname */ if (is_host (optarg)) { db_host = optarg; @@ -227,7 +178,7 @@ call_getopt (int argc, char **argv) db_port = atoi (optarg); break; case 'V': /* version */ - print_revision (my_basename (argv[0]), "$Revision$"); + print_revision (PROGNAME, REVISION); exit (STATE_OK); case 'h': /* help */ print_help (); @@ -236,7 +187,30 @@ call_getopt (int argc, char **argv) usage ("Invalid argument\n"); } } - return i; + + c = optind; + + if (strlen(db_host) == 0 && argc > c) + if (is_host (argv[c])) { + db_host = argv[c++]; + } + else { + usage ("Invalid host name"); + } + + if (strlen(db_user) == 0 && argc > c) + db_user = argv[c++]; + + if (strlen(db_pass) == 0 && argc > c) + db_pass = argv[c++]; + + if (strlen(db) == 0 && argc > c) + db = argv[c++]; + + if (is_intnonneg (argv[c])) + db_port = atoi (argv[c++]); + + return validate_arguments (); } @@ -256,7 +230,7 @@ validate_arguments (void) void print_help (void) { - print_revision (PROGNAME, "$Revision$"); + print_revision (PROGNAME, REVISION); printf ("Copyright (c) 2000 Didi Rieder/Karl DeBisschop\n\n" "This plugin is for testing a mysql server.\n"); diff --git a/plugins/check_real.c b/plugins/check_real.c index ba746b81..c553352c 100644 --- a/plugins/check_real.c +++ b/plugins/check_real.c @@ -55,17 +55,16 @@ #define URL "" int process_arguments (int, char **); -int call_getopt (int, char **); int validate_arguments (void); int check_disk (int usp, int free_disk); void print_help (void); void print_usage (void); int server_port = PORT; -char *server_address = NULL; +char *server_address = ""; char *host_name = NULL; char *server_url = NULL; -char *server_expect = NULL; +char *server_expect = EXPECT; int warning_time = 0; int check_warning_time = FALSE; int critical_time = 0; @@ -117,7 +116,7 @@ main (int argc, char **argv) terminate (STATE_CRITICAL, "No data received from %s\n", host_name); /* make sure we find the response we are looking for */ - if (!strstr (buffer, EXPECT)) { + if (!strstr (buffer, server_expect)) { if (server_port == PORT) printf ("Invalid REAL response received from host\n"); else @@ -190,7 +189,7 @@ main (int argc, char **argv) } else { /* make sure we find the response we are looking for */ - if (!strstr (buffer, EXPECT)) { + if (!strstr (buffer, server_expect)) { if (server_port == PORT) printf ("Invalid REAL response received from host\n"); else @@ -275,52 +274,6 @@ process_arguments (int argc, char **argv) { int c; - if (argc < 2) - return ERROR; - - 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 (is_host (argv[c])) { - server_address = argv[c]; - } - else { - usage ("Invalid host name"); - } - } - } - - if (server_expect == NULL) - server_expect = strscpy (NULL, EXPECT); - - return validate_arguments (); -} - - - - - - -int -call_getopt (int argc, char **argv) -{ - int c, i = 0; - #ifdef HAVE_GETOPT_H int option_index = 0; static struct option long_options[] = { @@ -339,6 +292,18 @@ call_getopt (int argc, char **argv) }; #endif + if (argc < 2) + return ERROR; + + 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"); + } + while (1) { #ifdef HAVE_GETOPT_H c = @@ -348,32 +313,11 @@ call_getopt (int argc, char **argv) c = getopt (argc, argv, "+?hVI:H:e:u:p:w:c:t"); #endif - i++; - - if (c == -1 || c == EOF || c == 1) + if (c == -1 || c == EOF) break; switch (c) { - case 'I': - case 'H': - case 'e': - case 'u': - case 'p': - case 'w': - case 'c': - case 't': - i++; - } - - switch (c) { case 'I': /* hostname */ - if (is_host (optarg)) { - server_address = optarg; - } - else { - usage ("Invalid host name\n"); - } - break; case 'H': /* hostname */ if (is_host (optarg)) { server_address = optarg; @@ -385,7 +329,7 @@ call_getopt (int argc, char **argv) case 'e': /* string to expect in response header */ server_expect = optarg; break; - case 'u': /* string to expect in response header */ + case 'u': /* server URL */ server_url = optarg; break; case 'p': /* port */ @@ -435,7 +379,18 @@ call_getopt (int argc, char **argv) usage ("Invalid argument\n"); } } - return i; + + c = optind; + if (strlen(server_address) == 0 && argc > c) { + if (is_host (argv[c])) { + server_address = argv[c++]; + } + else { + usage ("Invalid host name"); + } + } + + return validate_arguments (); } diff --git a/plugins/check_ups.c b/plugins/check_ups.c index c711de20..e250ef9d 100644 --- a/plugins/check_ups.c +++ b/plugins/check_ups.c @@ -82,7 +82,7 @@ #define UPSSTATUS_UNKOWN 32 int server_port = PORT; -char *server_address = NULL; +char *server_address = "127.0.0.1"; char *ups_name = NULL; double warning_value = 0.0L; double critical_value = 0.0L; @@ -103,7 +103,6 @@ int determine_supported_vars (void); int get_ups_variable (const char *, char *, int); int process_arguments (int, char **); -int call_getopt (int, char **); int validate_arguments (void); void print_help (void); void print_usage (void); @@ -547,17 +546,13 @@ process_arguments (int argc, char **argv) } - if (server_address == NULL) { - if (optind >= argc) { - server_address = strscpy (NULL, "127.0.0.1"); - } - else if (is_host (argv[optind])) { + if (server_address == NULL && argc > optind) { + if (is_host (argv[optind])) server_address = argv[optind++]; - } - else { + else usage ("Invalid host name"); - } } + return validate_arguments(); } |