Code

Attempt at fixing check_snmp multiline output:
[nagiosplug.git] / plugins / check_dummy.c
index c2f1f50d871be633be9b5baf324b7c3896c5303d..e72bf30bbfa4bffb27c2d3979d9bc528607bf9cd 100644 (file)
-/*************************************************************
- *
- * CHECK_DUMMY.C
- *
- * Program: Dummy plugin for Nagios
- * License: GPL
- * Copyright (c) 1999 Ethan Galstad (nagios@nagios.org)
- *
- * Last Modified: $Date$
- *
- * Command line: CHECK_DUMMY <state>
- *
- * Description:
- *
- * This plugin will simply return the state corresponding to the
- * numerical value of the <state> argument.
- *
- * License Information:
- *
- * 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
- * (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.
- *
- **************************************************************/
-
-#include "config.h"
-#include "common.h"
-#include "utils.h"
+/*****************************************************************************
+* 
+* Nagios check_dummy plugin
+* 
+* License: GPL
+* Copyright (c) 1999-2007 Nagios Plugins Development Team
+* 
+* Description:
+* 
+* This file contains the check_dummy plugin
+* 
+* This plugin will simply return the state corresponding to the numeric value
+* 
+* 
+* 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 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, see <http://www.gnu.org/licenses/>.
+* 
+* 
+*****************************************************************************/
 
 const char *progname = "check_dummy";
-const char *revision = "$Revision$";
-const char *copyright = "1999-2003";
+const char *copyright = "1999-2007";
 const char *email = "nagiosplug-devel@lists.sourceforge.net";
 
-void
-print_usage (void)
+#include "common.h"
+#include "utils.h"
+
+void print_help (void);
+void print_usage (void);
+
+
+int
+main (int argc, char **argv)
 {
-       printf (_("Usage: %s <integer state>\n"), progname);
+  int result = STATE_UNKNOWN;
+
+  setlocale (LC_ALL, "");
+  bindtextdomain (PACKAGE, LOCALEDIR);
+  textdomain (PACKAGE);
+
+  if (argc < 2)
+    usage4 (_("Could not parse arguments"));
+  else if (strcmp (argv[1], "-V") == 0 || strcmp (argv[1], "--version") == 0) {
+    print_revision (progname, NP_VERSION);
+    exit (STATE_OK);
+  }
+  else if (strcmp (argv[1], "-h") == 0 || strcmp (argv[1], "--help") == 0) {
+    print_help ();
+    exit (STATE_OK);
+  }
+  else if (!is_integer (argv[1]))
+    usage4 (_("Arguments to check_dummy must be an integer"));
+  else
+    result = atoi (argv[1]);
+
+  switch (result) {
+  case STATE_OK:
+    printf (_("OK"));
+    break;
+  case STATE_WARNING:
+    printf (_("WARNING"));
+    break;
+  case STATE_CRITICAL:
+    printf (_("CRITICAL"));
+    break;
+  case STATE_UNKNOWN:
+    printf (_("UNKNOWN"));
+    break;
+  default:
+    printf (_("UNKNOWN"));
+    printf (": ");
+    printf (_("Status %d is not a supported error state\n"), result);
+    return STATE_UNKNOWN;
+  }
+
+  if (argc >= 3)
+    printf (": %s", argv[2]);
+
+  printf("\n");
+
+  return result;
 }
 
+
+
 void
 print_help (void)
 {
-       print_revision (progname, revision);
+  print_revision (progname, NP_VERSION);
+
+  printf ("Copyright (c) 1999 Ethan Galstad <nagios@nagios.org>\n");
+  printf (COPYRIGHT, copyright, email);
+
+  printf ("%s\n", _("This plugin will simply return the state corresponding to the numeric value"));
 
-       printf (_(COPYRIGHT), copyright, email);
+  printf ("%s\n", _("of the <state> argument with optional text"));
 
-       print_usage ();
+  printf ("\n\n");
 
-       printf (_(HELP_VRSN));
+  print_usage ();
 
-       printf (_("\n\
-This plugin will simply return the state corresponding to the numeric value\n\
-of the <state> argument.\n"));
+  printf (UT_HELP_VRSN);
+
+  printf (UT_SUPPORT);
 }
 
-int
-main (int argc, char **argv)
+
+
+void
+print_usage (void)
 {
-       int result;
-
-       if (argc != 2) {
-               printf (_("Incorrect number of arguments supplied\n"));
-               exit (STATE_UNKNOWN);
-       }
-       else if (strcmp (argv[1], "-V") == 0 || strcmp (argv[1], "--version") == 0) {
-               print_revision (progname, revision);
-               exit (STATE_OK);
-       }
-       else if (strcmp (argv[1], "-h") == 0 || strcmp (argv[1], "--help") == 0) {
-               print_help ();
-               exit (STATE_OK);
-       }
-       else if (!is_integer (argv[1])) {
-               print_usage ();
-               exit (STATE_UNKNOWN);
-       }
-       result = atoi (argv[1]);
-
-       switch (result) {
-       case STATE_OK:
-               printf ("Status is OK\n");
-               break;
-       case STATE_WARNING:
-               printf ("Status is at WARNING level\n");
-               break;
-       case STATE_CRITICAL:
-               printf ("Status is CRITICAL\n");
-               break;
-       default:
-               printf ("Status is UNKNOWN\n");
-               result = STATE_UNKNOWN;
-       }
-
-       return result;
+  printf (_("Usage:"));
+  printf (" %s <integer state> [optional text]\n", progname);
 }