Code

Fix translations when extra-opts aren't enabled
[nagiosplug.git] / plugins / check_dig.c
index 286efbebe5a7b33e74c2a834f1262b75fb95cb00..45189b000d222ce7c4ca0a7186103bafaabaddfa 100644 (file)
@@ -3,9 +3,7 @@
 * Nagios check_dig plugin
 * 
 * License: GPL
-* Copyright (c) 2002-2007 Nagios Plugins Development Team
-* 
-* Last Modified: $Date$
+* Copyright (c) 2002-2008 Nagios Plugins Development Team
 * 
 * Description:
 * 
@@ -25,7 +23,6 @@
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 * 
-* $Id$
 * 
 *****************************************************************************/
 
@@ -36,8 +33,7 @@
  *  because on some architectures those strings are in non-writable memory */
 
 const char *progname = "check_dig";
-const char *revision = "$Revision$";
-const char *copyright = "2002-2007";
+const char *copyright = "2002-2008";
 const char *email = "nagiosplug-devel@lists.sourceforge.net";
 
 #include "common.h"
@@ -84,6 +80,9 @@ main (int argc, char **argv)
   if (signal (SIGALRM, popen_timeout_alarm_handler) == SIG_ERR)
     usage_va(_("Cannot catch SIGALRM"));
 
+  /* Parse extra opts if any */
+  argv=np_extra_opts (&argc, argv, progname);
+
   if (process_arguments (argc, argv) == ERROR)
     usage_va(_("Could not parse arguments"));
 
@@ -140,8 +139,10 @@ main (int argc, char **argv)
     }
   }
 
-  if (result == STATE_UNKNOWN)
+  if (result == STATE_UNKNOWN) {
     msg = (char *)_("No ANSWER SECTION found");
+    result = STATE_CRITICAL;
+  }
 
   /* If we get anything on STDERR, at least set warning */
   if(chld_err.buflen > 0) {
@@ -215,7 +216,7 @@ process_arguments (int argc, char **argv)
       print_help ();
       exit (STATE_OK);
     case 'V':                 /* version */
-      print_revision (progname, revision);
+      print_revision (progname, NP_VERSION);
       exit (STATE_OK);
     case 'H':                 /* hostname */
       host_or_die(optarg);
@@ -292,7 +293,10 @@ process_arguments (int argc, char **argv)
 int
 validate_arguments (void)
 {
-  return OK;
+  if (query_address != NULL)
+    return OK;
+  else
+    return ERROR;
 }
 
 
@@ -304,7 +308,7 @@ print_help (void)
 
   asprintf (&myport, "%d", DEFAULT_PORT);
 
-  print_revision (progname, revision);
+  print_revision (progname, NP_VERSION);
 
   printf ("Copyright (c) 2000 Karl DeBisschop <kdebisschop@users.sourceforge.net>\n");
   printf (COPYRIGHT, copyright, email);
@@ -315,25 +319,37 @@ print_help (void)
 
   print_usage ();
 
-  printf (_(UT_HELP_VRSN));
+  printf (UT_HELP_VRSN);
 
-  printf (_(UT_HOST_PORT), 'p', myport);
+  printf (UT_EXTRA_OPTS);
 
-  printf (" %s\n","-l, --lookup=STRING");
-  printf ("    %s\n",_("machine name to lookup"));
+  printf (UT_HOST_PORT, 'p', myport);
+
+  printf (" %s\n","-l, --query_address=STRING");
+  printf ("    %s\n",_("Machine name to lookup"));
   printf (" %s\n","-T, --record_type=STRING");
-  printf ("    %s\n",_("record type to lookup (default: A)"));
+  printf ("    %s\n",_("Record type to lookup (default: A)"));
   printf (" %s\n","-a, --expected_address=STRING");
-  printf ("    %s\n",_("an address expected to be in the answer section.if not set, uses whatever was in -l"));
+  printf ("    %s\n",_("An address expected to be in the answer section. If not set, uses whatever"));
+  printf ("    %s\n",_("was in -l"));
   printf (" %s\n","-A, --dig-arguments=STRING");
-  printf ("    %s\n",_("pass STRING as argument(s) to dig"));
-  printf (_(UT_WARN_CRIT));
-  printf (_(UT_TIMEOUT), DEFAULT_SOCKET_TIMEOUT);
-  printf (_(UT_VERBOSE));
+  printf ("    %s\n",_("Pass STRING as argument(s) to dig"));
+  printf (UT_WARN_CRIT);
+  printf (UT_TIMEOUT, DEFAULT_SOCKET_TIMEOUT);
+  printf (UT_VERBOSE);
+
+  printf ("\n");
   printf ("%s\n", _("Examples:"));
   printf (" %s\n", "check_dig -H DNSSERVER -l www.example.com -A \"+tcp\"");
   printf (" %s\n", "This will send a tcp query to DNSSERVER for www.example.com");
-  printf (_(UT_SUPPORT));
+
+#ifdef NP_EXTRA_OPTS
+  printf ("\n");
+  printf ("%s\n", _("Notes:"));
+  printf (UT_EXTRA_OPTS_NOTES);
+#endif
+
+  printf (UT_SUPPORT);
 }
 
 
@@ -342,7 +358,7 @@ void
 print_usage (void)
 {
   printf (_("Usage:"));
-  printf ("%s -H host -l lookup [-p <server port>] [-T <query type>]", progname);
-  printf (" [-w <warning interval>] [-c <critical interval>] [-t <timeout>]");
-  printf (" [-a <expected answer address>] [-v]\n");
+  printf ("%s -l <query_address> [-H <host>] [-p <server port>]\n", progname);
+  printf (" [-T <query type>] [-w <warning interval>] [-c <critical interval>]\n");
+  printf (" [-t <timeout>] [-a <expected answer address>] [-v]\n");
 }