Code

Added argc checks before attempting to access argv[]
[nagiosplug.git] / plugins / negate.c
index a11558d58a80a96f0c27d8b844d50fe9ca99c6ca..454ac963570f9705678330d7b7e99b75f4375df6 100644 (file)
@@ -23,7 +23,7 @@
  *
  *****************************************************************************/
 
-#define PROGNAME "negate"
+const char *progname = "negate";
 #define REVISION "$Revision$"
 #define COPYRIGHT "2002"
 #define AUTHOR "Karl DeBisschop"
@@ -52,10 +52,10 @@ Otherwise, the output state of the wrapped plugin is unchanged.\n"
 
 char *command_line;
 
-static int process_arguments (int, char **);
-static int validate_arguments (void);
-static void print_usage (void);
-static void print_help (void);
+int process_arguments (int, char **);
+int validate_arguments (void);
+void print_usage (void);
+void print_help (void);
 \f
 /******************************************************************************
 
@@ -76,7 +76,7 @@ Please note that all tags must be lowercase to use the DocBook XML DTD.
 <manvolnum>5<manvolnum>
 </refmeta>
 <refnamdiv>
-<refname>&PROGNAME;</refname>
+<refname>&progname;</refname>
 <refpurpose>&SUMMARY;</refpurpose>
 </refnamdiv>
 </refentry>
@@ -174,7 +174,7 @@ main (int argc, char **argv)
 void
 print_help (void)
 {
-       print_revision (PROGNAME, REVISION);
+       print_revision (progname, REVISION);
        printf
                ("Copyright (c) %s %s <%s>\n\n%s\n",
                 COPYRIGHT, AUTHOR, EMAIL, SUMMARY);
@@ -196,7 +196,7 @@ print_usage (void)
                                        " %s -h for detailed help\n"
                                        " %s -V for version information\n",
 #endif
-                                       PROGNAME, OPTIONS, PROGNAME, PROGNAME);
+                                       progname, OPTIONS, progname, progname);
 }
 \f
 
@@ -234,22 +234,22 @@ process_arguments (int argc, char **argv)
 
        while (1) {
 #ifdef HAVE_GETOPT_H
-               c = getopt_long (argc, argv, "+?hVt:",
+               c = getopt_long (argc, argv, "hVt:",
                                 long_options, &option_index);
 #else
-               c = getopt (argc, argv, "+?hVt:");
+               c = getopt (argc, argv, "hVt:");
 #endif
                if (c == -1 || c == EOF)
                        break;
 
                switch (c) {
                case '?':     /* help */
-                       usage2 ("Unknown argument", optarg);
+                       usage3 ("Unknown argument", optopt);
                case 'h':     /* help */
                        print_help ();
                        exit (EXIT_SUCCESS);
                case 'V':     /* version */
-                       print_revision (PROGNAME, REVISION);
+                       print_revision (progname, REVISION);
                        exit (EXIT_SUCCESS);
                case 't':     /* timeout period */
                        if (!is_integer (optarg))