Code

fixes from richard brodie (tracker id 1216576)
[nagiosplug.git] / plugins / check_time.c
index 0de6718bb05a57a5522d0e07e32fbf48b1a6c559..ff94d9b3a3a94bcb4f0ed763ad645e10149d2110 100644 (file)
  along with this program; if not, write to the Free Software
  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 
+ $Id$
 ******************************************************************************/
 
-#include "common.h"
-#include "netutils.h"
-#include "utils.h"
-
 const char *progname = "check_time";
 const char *revision = "$Revision$";
-const char *copyright = "1999-2003";
+const char *copyright = "1999-2004";
 const char *email = "nagiosplug-devel@lists.sourceforge.net";
 
+#include "common.h"
+#include "netutils.h"
+#include "utils.h"
+
 enum {
        TIME_PORT = 37
 };
 
 #define        UNIX_EPOCH 2208988800UL
 
-unsigned long server_time, raw_server_time;
+uint32_t server_time, raw_server_time;
 time_t diff_time;
 int warning_time = 0;
 int check_warning_time = FALSE;
@@ -53,15 +55,15 @@ int
 main (int argc, char **argv)
 {
        int sd;
-       int result;
+       int result = STATE_UNKNOWN;
        time_t conntime;
 
        setlocale (LC_ALL, "");
        bindtextdomain (PACKAGE, LOCALEDIR);
        textdomain (PACKAGE);
 
-       if (process_arguments (argc, argv) != OK)
-               usage (_("Invalid command arguments supplied\n"));
+       if (process_arguments (argc, argv) == ERROR)
+               usage4 (_("Could not parse arguments"));
 
        /* initialize alarm signal handling */
        signal (SIGALRM, socket_timeout_alarm_handler);
@@ -122,7 +124,7 @@ main (int argc, char **argv)
                else
                        result = STATE_UNKNOWN;
                die (result,
-                                                        _("TIME UNKNOWN - no data on recv() from server %s, port %d\n"),
+                                                        _("TIME UNKNOWN - no data received from server %s, port %d\n"),
                                                         server_address, server_port);
        }
 
@@ -168,9 +170,6 @@ main (int argc, char **argv)
 
 
 
-
-
-
 /* process command-line arguments */
 int
 process_arguments (int argc, char **argv)
@@ -217,7 +216,7 @@ process_arguments (int argc, char **argv)
 
                switch (c) {
                case '?':                                                                       /* print short usage statement if args not parsable */
-                       usage3 (_("Unknown argument"), optopt);
+                       usage2 (_("Unknown argument"), optarg);
                case 'h':                                                                       /* help */
                        print_help ();
                        exit (STATE_OK);
@@ -226,7 +225,7 @@ process_arguments (int argc, char **argv)
                        exit (STATE_OK);
                case 'H':                                                                       /* hostname */
                        if (is_host (optarg) == FALSE)
-                               usage (_("Invalid host name/address\n"));
+                               usage2 (_("Invalid hostname/address"), optarg);
                        server_address = optarg;
                        break;
                case 'w':                                                                       /* warning-variance */
@@ -240,11 +239,11 @@ process_arguments (int argc, char **argv)
                                        check_warning_time = TRUE;
                                }
                                else {
-                                       usage (_("Warning thresholds must be a nonnegative integer\n"));
+                                       usage4 (_("Warning thresholds must be a positive integer"));
                                }
                        }
                        else {
-                               usage (_("Warning threshold must be a nonnegative integer\n"));
+                               usage4 (_("Warning threshold must be a positive integer"));
                        }
                        break;
                case 'c':                                                                       /* critical-variance */
@@ -259,36 +258,36 @@ process_arguments (int argc, char **argv)
                                        check_critical_time = TRUE;
                                }
                                else {
-                                       usage (_("Critical thresholds must be a nonnegative integer\n"));
+                                       usage4 (_("Critical thresholds must be a positive integer"));
                                }
                        }
                        else {
-                               usage (_("Critical threshold must be a nonnegative integer\n"));
+                               usage4 (_("Critical threshold must be a positive integer"));
                        }
                        break;
                case 'W':                                                                       /* warning-connect */
                        if (!is_intnonneg (optarg))
-                               usage (_("Warning threshold must be a nonnegative integer\n"));
+                               usage4 (_("Warning threshold must be a positive integer"));
                        else
                                warning_time = atoi (optarg);
                        check_warning_time = TRUE;
                        break;
                case 'C':                                                                       /* critical-connect */
                        if (!is_intnonneg (optarg))
-                               usage (_("Critical threshold must be a nonnegative integer\n"));
+                               usage4 (_("Critical threshold must be a positive integer"));
                        else
                                critical_time = atoi (optarg);
                        check_critical_time = TRUE;
                        break;
                case 'p':                                                                       /* port */
                        if (!is_intnonneg (optarg))
-                               usage (_("Server port must be a nonnegative integer\n"));
+                               usage4 (_("Port must be a positive integer"));
                        else
                                server_port = atoi (optarg);
                        break;
                case 't':                                                                       /* timeout */
                        if (!is_intnonneg (optarg))
-                               usage (_("Timeout interval must be a nonnegative integer\n"));
+                               usage2 (_("Timeout interval must be a positive integer"), optarg);
                        else
                                socket_timeout = atoi (optarg);
                        break;
@@ -301,11 +300,11 @@ process_arguments (int argc, char **argv)
        if (server_address == NULL) {
                if (argc > c) {
                        if (is_host (argv[c]) == FALSE)
-                               usage (_("Invalid host name/address\n"));
+                               usage2 (_("Invalid hostname/address"), optarg);
                        server_address = argv[c];
                }
                else {
-                       usage (_("Host name was not supplied\n"));
+                       usage4 (_("Hostname was not supplied"));
                }
        }
 
@@ -314,9 +313,6 @@ process_arguments (int argc, char **argv)
 
 
 
-
-
-\f
 void
 print_help (void)
 {
@@ -325,11 +321,10 @@ print_help (void)
 
        print_revision (progname, revision);
 
-       printf (_("Copyright (c) 1999 Ethan Galstad\n"));
-       printf (_(COPYRIGHT), copyright, email);
+       printf ("Copyright (c) 1999 Ethan Galstad\n");
+       printf (COPYRIGHT, copyright, email);
 
-       printf (_("\
-This plugin will check the time on the specified host.\n\n"));
+       printf (_("This plugin will check the time on the specified host.\n\n"));
 
        print_usage ();
 
@@ -356,12 +351,10 @@ This plugin will check the time on the specified host.\n\n"));
 
 
 
-
 void
 print_usage (void)
 {
-       printf (_("\
+       printf ("\
 Usage: %s -H <host_address> [-p port] [-u] [-w variance] [-c variance]\n\
-    [-W connect_time] [-C connect_time] [-t timeout]\n"), progname);
-       printf (_(UT_HLP_VRS), progname, progname);
+                  [-W connect_time] [-C connect_time] [-t timeout]\n", progname);
 }