Code

Fix translations when extra-opts aren't enabled
[nagiosplug.git] / plugins / check_dummy.c
index c2a5b7eb859294b7bfcfd05d25d52ddab3bbacc0..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"
+/*****************************************************************************
+* 
+* 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 *copyright = "1999-2007";
+const char *email = "nagiosplug-devel@lists.sourceforge.net";
+
 #include "common.h"
 #include "utils.h"
 
-void print_help (char *);
-void print_usage (char *);
+void print_help (void);
+void print_usage (void);
+
 
 int
 main (int argc, char **argv)
 {
-       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 (argv[0], "$Revision$");
-               exit (STATE_OK);
-       }
-       else if (strcmp (argv[1], "-h") == 0 || strcmp (argv[1], "--help") == 0) {
-               print_help (argv[0]);
-               exit (STATE_OK);
-       }
-       else if (!is_integer (argv[1])) {
-               print_usage (argv[0]);
-               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;
+  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 (char *cmd)
+print_help (void)
 {
-       print_revision (cmd, "$Revision$");
-       printf ("Copyright (c) 1999 Ethan Galstad (nagios@nagios.org)\n"
-                                       "License: GPL\n\n");
-       print_usage (cmd);
-       printf
-               ("\nThis plugin will simply return the state corresponding to the numeric value\n"
-                "of the <state> argument.\n");
+  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 ("%s\n", _("of the <state> argument with optional text"));
+
+  printf ("\n\n");
+
+  print_usage ();
+
+  printf (UT_HELP_VRSN);
+
+  printf (UT_SUPPORT);
 }
 
+
+
 void
-print_usage (char *cmd)
+print_usage (void)
 {
-       printf ("Usage: %s <integer state>\n", cmd);
+  printf (_("Usage:"));
+  printf (" %s <integer state> [optional text]\n", progname);
 }