Code

Fix for regex input of '|', being output causing problems with Nagios' parsing of
[nagiosplug.git] / plugins / check_swap.c
index 59c1ecf6ce2d902d7298de4fd25e67d659dff427..ce1f6022900590028464323742142a4a243da732 100644 (file)
@@ -1,40 +1,34 @@
-/******************************************************************************
-*
+/*****************************************************************************
+* 
 * Nagios check_disk plugin
-*
+* 
 * License: GPL
 * Copyright (c) 2000 Karl DeBisschop (kdebisschop@users.sourceforge.net)
-* Copyright (c) 2000-2006 nagios-plugins team
-*
-* Last Modified: $Date$
-*
+* Copyright (c) 2000-2007 Nagios Plugins Development Team
+* 
 * Description:
-*
+* 
 * This file contains the check_disk plugin
-*
-* License Information:
-*
-* This program is free software; you can redistribute it and/or modify
+* 
+* 
+* This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
-* the Free Software Foundation; either version 2 of the License, or
+* the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
-*
+* 
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
-*
+* 
 * You should have received a copy of the GNU General Public License
-* along with this program; if not, write to the Free Software
-* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-*
-* $Id$
-*
+* along with this program.  If not, see <http://www.gnu.org/licenses/>.
+* 
+* 
 *****************************************************************************/
 
 const char *progname = "check_swap";
-const char *revision = "$Revision$";
-const char *copyright = "2000-2006";
+const char *copyright = "2000-2007";
 const char *email = "nagiosplug-devel@lists.sourceforge.net";
 
 #include "common.h"
@@ -42,15 +36,15 @@ const char *email = "nagiosplug-devel@lists.sourceforge.net";
 #include "utils.h"
 
 #ifdef HAVE_DECL_SWAPCTL
+# ifdef HAVE_SYS_PARAM_H
+#  include <sys/param.h>
+# endif
 # ifdef HAVE_SYS_SWAP_H
 #  include <sys/swap.h>
 # endif
 # ifdef HAVE_SYS_STAT_H
 #  include <sys/stat.h>
 # endif
-# ifdef HAVE_SYS_PARAM_H
-#  include <sys/param.h>
-# endif
 #endif
 
 #ifndef SWAP_CONVERSION
@@ -109,6 +103,9 @@ main (int argc, char **argv)
 
        status = strdup ("");
 
+       /* Parse extra opts if any */
+       argv=np_extra_opts (&argc, argv, progname);
+
        if (process_arguments (argc, argv) == ERROR)
                usage4 (_("Could not parse arguments"));
 
@@ -462,13 +459,13 @@ process_arguments (int argc, char **argv)
                        verbose++;
                        break;
                case 'V':                                                                       /* version */
-                       print_revision (progname, revision);
+                       print_revision (progname, NP_VERSION);
                        exit (STATE_OK);
                case 'h':                                                                       /* help */
                        print_help ();
                        exit (STATE_OK);
                case '?':                                                                       /* error */
-                       usage2 (_("Unknown argument"), optarg);
+                       usage5 ();
                }
        }
 
@@ -506,7 +503,7 @@ validate_arguments (void)
                return ERROR;
        }
        else if (warn_percent < crit_percent) {
-               usage4 
+               usage4
                        (_("Warning percentage should be more than critical percentage"));
        }
        else if (warn_size_bytes < crit_size_bytes) {
@@ -521,17 +518,18 @@ validate_arguments (void)
 void
 print_help (void)
 {
-       print_revision (progname, revision);
+       print_revision (progname, NP_VERSION);
 
        printf (_(COPYRIGHT), copyright, email);
 
        printf ("%s\n", _("Check swap space on local machine."));
 
   printf ("\n\n");
-  
+
        print_usage ();
 
-       printf (_(UT_HELP_VRSN));
+       printf (UT_HELP_VRSN);
+       printf (UT_EXTRA_OPTS);
 
        printf (" %s\n", "-w, --warning=INTEGER");
   printf ("    %s\n", _("Exit with WARNING status if less than INTEGER bytes of swap space are free"));
@@ -543,13 +541,13 @@ print_help (void)
   printf ("    %s\n", _("Exit with CRITCAL status if less than PERCENT of swap space is free"));
   printf (" %s\n", "-a, --allswaps");
   printf ("    %s\n", _("Conduct comparisons for all swap partitions, one by one"));
-  printf (" %s\n", "-v, --verbose");
-  printf ("    %s\n", _("Verbose output. Up to 3 levels"));
+       printf (UT_VERBOSE);
+
        printf ("\n");
   printf ("%s\n", _("Notes:"));
-  printf (" %s\n", _("On AIX, if -a is specified, uses lsps -a, otherwise uses lsps -s.\n"));
+  printf (" %s\n", _("On AIX, if -a is specified, uses lsps -a, otherwise uses lsps -s."));
 
-       printf (_(UT_SUPPORT));
+       printf (UT_SUPPORT);
 }
 
 
@@ -557,7 +555,7 @@ print_help (void)
 void
 print_usage (void)
 {
-       printf (_("Usage:"));
+       printf ("%s\n", _("Usage:"));
   printf ("%s [-av] -w <percent_free>%% -c <percent_free>%%\n",progname);
   printf ("%s [-av] -w <bytes_free> -c <bytes_free>\n", progname);
 }