diff --git a/plugins/check_tcp.c b/plugins/check_tcp.c
index af3ae241..ce966c38 100644
--- a/plugins/check_tcp.c
+++ b/plugins/check_tcp.c
@@ -1,30 +1,30 @@
/*****************************************************************************
-*
+*
* Nagios check_tcp plugin
-*
+*
* License: GPL
* Copyright (c) 1999-2008 Nagios Plugins Development Team
-*
+*
* Description:
-*
+*
* This file contains the check_tcp plugin
-*
-*
+*
+*
* 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 .
*
* $Id$
-*
+*
*****************************************************************************/
/* progname "check_tcp" changes depending on symlink called */
@@ -61,6 +61,7 @@ static int PORT = 0;
static int server_port = 0;
static char *server_address = NULL;
+static int host_specified = FALSE;
static char *server_send = NULL;
static char *server_quit = NULL;
static char **server_expect;
@@ -462,6 +463,7 @@ process_arguments (int argc, char **argv)
#endif
break;
case 'H': /* hostname */
+ host_specified = TRUE;
server_address = optarg;
break;
case 'c': /* critical */
@@ -588,6 +590,10 @@ process_arguments (int argc, char **argv)
}
}
+ c = optind;
+ if(host_specified == FALSE && c < argc)
+ server_address = strdup (argv[c++]);
+
if (server_address == NULL)
usage4 (_("You must provide a server address"));
else if (server_address[0] != '/' && is_host (server_address) == FALSE)
@@ -666,4 +672,3 @@ print_usage (void)
printf ("[-t ] [-r ] [-M ] [-v] [-4|-6] [-j]\n");
printf ("[-D [,]] [-S