diff --git a/plugins/check_udp.c b/plugins/check_udp.c
index 8626f8c4816a81db8fa1469920345460cc8197cf..ac2210257d4f32d422fe2794b6a16063f89237f6 100644 (file)
--- a/plugins/check_udp.c
+++ b/plugins/check_udp.c
{
int c;
-#ifdef HAVE_GETOPT_H
int option_index = 0;
static struct option long_options[] = {
{"hostname", required_argument, 0, 'H'},
{"help", no_argument, 0, 'h'},
{0, 0, 0, 0}
};
-#endif
if (argc < 2)
usage ("\n");
}
while (1) {
-#ifdef HAVE_GETOPT_H
- c = getopt_long (argc, argv, "+hVvH:e:s:c:w:t:p:", long_options, &option_index);
-#else
- c = getopt (argc, argv, "+hVvH:e:s:c:w:t:p:");
-#endif
+ c = getopt_long (argc, argv, "+hVvH:e:s:c:w:t:p:", long_options, &option_index);
+
+ if (c == -1 || c == EOF || c == 1)
+ break;
switch (c) {
case '?': /* print short usage statement if args not parsable */
}
c = optind;
- if (server_address == NULL && argv[c]) {
+ if (server_address == NULL && c < argc && argv[c]) {
if (is_host (argv[c]) == FALSE)
usage ("Invalid host name/address\n");
server_address = argv[c++];
}
- else {
+
+ if (server_address == NULL)
usage ("Host name was not supplied\n");
- }
return c;
}