[Nagiosplug-checkins] CVS: nagiosplug/plugins check_disk.c,1.3,1.4 check_dns.c,1.3,1.4 check_fping.c,1.2,1.3 check_hpjd.c,1.4,1.5 check_mrtg.c,1.1.1.1,1.2 check_nwstat.c,1.1.1.1,1.2 check_ping.c,1.9,1.10 check_vsz.c,1.3,1.4 urlize.c,1.3,1.4 utils.c,1.9,1.10

Karl DeBisschop kdebisschop at users.sourceforge.net
Wed Nov 13 03:51:05 CET 2002


Update of /cvsroot/nagiosplug/nagiosplug/plugins
In directory usw-pr-cvs1:/tmp/cvs-serv3301

Modified Files:
	check_disk.c check_dns.c check_fping.c check_hpjd.c 
	check_mrtg.c check_nwstat.c check_ping.c check_vsz.c urlize.c 
	utils.c 
Log Message:
remove call_getopt and asprintf

Index: check_disk.c
===================================================================
RCS file: /cvsroot/nagiosplug/nagiosplug/plugins/check_disk.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -r1.3 -r1.4
*** check_disk.c	19 Jun 2002 03:09:10 -0000	1.3
--- check_disk.c	13 Nov 2002 11:50:54 -0000	1.4
***************
*** 38,44 ****
  
  #define PROGNAME "check_disk"
  
  int process_arguments (int, char **);
- int call_getopt (int, char **);
  int validate_arguments (void);
  int check_disk (int usp, int free_disk);
--- 38,45 ----
  
  #define PROGNAME "check_disk"
+ #define REVISION "$Revision$"
+ #define COPYRIGHT "2000-2002"
  
  int process_arguments (int, char **);
  int validate_arguments (void);
  int check_disk (int usp, int free_disk);
***************
*** 50,54 ****
  float w_dfp = -1.0;
  float c_dfp = -1.0;
! char *path = NULL;
  int verbose = FALSE;
  int display_mntp = FALSE;
--- 51,55 ----
  float w_dfp = -1.0;
  float c_dfp = -1.0;
! char *path = "";
  int verbose = FALSE;
  int display_mntp = FALSE;
***************
*** 74,78 ****
  		usage ("Could not parse arguments\n");
  
! 	command_line = ssprintf (command_line, "%s %s", DF_COMMAND, path);
  
  	if (verbose)
--- 75,79 ----
  		usage ("Could not parse arguments\n");
  
! 	asprintf (&command_line, "%s %s", DF_COMMAND, path);
  
  	if (verbose)
***************
*** 176,214 ****
  	int c;
  
- 	if (argc < 2)
- 		return ERROR;
- 
- 	for (c = 1; c < argc; c++) {
- 		if (strcmp ("-to", argv[c]) == 0) {
- 			strcpy (argv[c], "-t");
- 		}
- 	}
- 
- 	c = 0;
- 	while ((c += (call_getopt (argc - c, &argv[c]))) < argc) {
- 
- 		if (w_dfp == -1 && is_intnonneg (argv[c]))
- 			w_dfp = (100.0 - atof (argv[c]));
- 		else if (c_dfp == -1 && is_intnonneg (argv[c]))
- 			c_dfp = (100.0 - atof (argv[c]));
- 		else if (path == NULL || path[0] == 0)
- 			path = strscpy (path, argv[c]);
- 	}
- 
- 	if (path == NULL) {
- 		path = malloc (1);
- 		if (path == NULL)
- 			terminate (STATE_UNKNOWN, "Could not malloc empty path\n");
- 		path[0] = 0;
- 	}
- 
- 	return validate_arguments ();
- }
- 
- int
- call_getopt (int argc, char **argv)
- {
- 	int c, i = 0;
- 
  #ifdef HAVE_GETOPT_H
  	int option_index = 0;
--- 177,180 ----
***************
*** 227,252 ****
  #endif
  
  	while (1) {
  #ifdef HAVE_GETOPT_H
  		c =
! 			getopt_long (argc, argv, "+?Vhvt:c:w:p:m", long_options, &option_index);
  #else
! 		c = getopt (argc, argv, "+?Vhvt:c:w:p:m");
  #endif
  
! 		i++;
! 
! 		if (c == -1 || c == EOF || c == 1)
  			break;
  
  		switch (c) {
- 		case 't':
- 		case 'c':
- 		case 'w':
- 		case 'p':
- 			i++;
- 		}
- 
- 		switch (c) {
  		case 'w':									/* warning time threshold */
  			if (is_intnonneg (optarg)) {
--- 193,215 ----
  #endif
  
+ 	if (argc < 2)
+ 		return ERROR;
+ 
+ 	for (c = 1; c < argc; c++)
+ 		if (strcmp ("-to", argv[c]) == 0)
+ 			strcpy (argv[c], "-t");
+ 
  	while (1) {
  #ifdef HAVE_GETOPT_H
  		c =
! 			getopt_long (argc, argv, "Vhvt:c:w:p:m", long_options, &option_index);
  #else
! 		c = getopt (argc, argv, "Vhvt:c:w:p:m");
  #endif
  
! 		if (c == -1 || c == EOF)
  			break;
  
  		switch (c) {
  		case 'w':									/* warning time threshold */
  			if (is_intnonneg (optarg)) {
***************
*** 299,303 ****
  			break;
  		case 'V':									/* version */
! 			print_revision (my_basename (argv[0]), "$Revision$");
  			exit (STATE_OK);
  		case 'h':									/* help */
--- 262,266 ----
  			break;
  		case 'V':									/* version */
! 			print_revision (PROGNAME, REVISION);
  			exit (STATE_OK);
  		case 'h':									/* help */
***************
*** 309,313 ****
  		}
  	}
! 	return i;
  }
  
--- 272,287 ----
  		}
  	}
! 
! 	c = optind;
! 	if (w_dfp == -1 && argc > c && is_intnonneg (argv[c]))
! 		w_dfp = (100.0 - atof (argv[c++]));
! 
! 	if (c_dfp == -1 && argc > c && is_intnonneg (argv[c]))
! 		c_dfp = (100.0 - atof (argv[c++]));
! 
! 	if (argc > c && strlen (path) == 0)
! 		path = argv[c++];
! 
! 	return validate_arguments ();
  }
  
***************
*** 359,363 ****
  print_help (void)
  {
! 	print_revision (PROGNAME, "$Revision$");
  	printf
  		("Copyright (c) 2000 Ethan Galstad/Karl DeBisschop\n\n"
--- 333,337 ----
  print_help (void)
  {
! 	print_revision (PROGNAME, REVISION);
  	printf
  		("Copyright (c) 2000 Ethan Galstad/Karl DeBisschop\n\n"

Index: check_dns.c
===================================================================
RCS file: /cvsroot/nagiosplug/nagiosplug/plugins/check_dns.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -r1.3 -r1.4
*** check_dns.c	7 Oct 2002 19:05:24 -0000	1.3
--- check_dns.c	13 Nov 2002 11:50:54 -0000	1.4
***************
*** 49,57 ****
  #include "utils.h"
  
  int process_arguments (int, char **);
- int call_getopt (int, char **);
  int validate_arguments (void);
! void print_usage (char *);
! void print_help (char *);
  int error_scan (char *);
  
--- 49,60 ----
  #include "utils.h"
  
+ #define PROGNAME "check_dns"
+ #define REVISION "$Revision$"
+ #define COPYRIGHT "2000-2002"
+ 
  int process_arguments (int, char **);
  int validate_arguments (void);
! void print_usage (void);
! void print_help (void);
  int error_scan (char *);
  
***************
*** 81,91 ****
  
  	if (process_arguments (argc, argv) != OK) {
! 		print_usage (my_basename (argv[0]));
  		return STATE_UNKNOWN;
  	}
  
  	/* get the command to run */
! 	command_line = ssprintf (command_line, "%s %s %s", NSLOOKUP_COMMAND,
! 		query_address, dns_server);
  
  	alarm (timeout_interval);
--- 84,93 ----
  
  	if (process_arguments (argc, argv) != OK) {
! 		print_usage ();
  		return STATE_UNKNOWN;
  	}
  
  	/* get the command to run */
! 	sprintf (&command_line, "%s %s %s", NSLOOKUP_COMMAND,	query_address, dns_server);
  
  	alarm (timeout_interval);
***************
*** 172,176 ****
  	if (result == STATE_OK && match_expected_address && strcmp(address, expected_address)) {
  	        result = STATE_CRITICAL;
! 	        output = ssprintf(output, "expected %s but got %s", expected_address, address);
  		}
  	
--- 174,178 ----
  	if (result == STATE_OK && match_expected_address && strcmp(address, expected_address)) {
  	        result = STATE_CRITICAL;
! 	        asprintf(&output, "expected %s but got %s", expected_address, address);
  		}
  	
***************
*** 257,300 ****
  	int c;
  
- 	if (argc < 2)
- 		return ERROR;
- 
- 	for (c = 1; c < argc; c++)
- 		if (strcmp ("-to", argv[c]) == 0)
- 			strcpy (argv[c], "-t");
- 
- 	c = 0;
- 	while (c += (call_getopt (argc - c, &argv[c]))) {
- 		if (argc <= c)
- 			break;
- 		if (query_address[0] == 0) {
- 			if (is_host (argv[c]) == FALSE) {
- 				printf ("Invalid name/address: %s\n\n", argv[c]);
- 				return ERROR;
- 			}
- 			if (strlen (argv[c]) >= ADDRESS_LENGTH)
- 				terminate (STATE_UNKNOWN, "Input buffer overflow\n");
- 			strcpy (query_address, argv[c]);
- 		}
- 		else if (dns_server[0] == 0) {
- 			if (is_host (argv[c]) == FALSE) {
- 				printf ("Invalid name/address: %s\n\n", argv[c]);
- 				return ERROR;
- 			}
- 			if (strlen (argv[c]) >= ADDRESS_LENGTH)
- 				terminate (STATE_UNKNOWN, "Input buffer overflow\n");
- 			strcpy (dns_server, argv[c]);
- 		}
- 	}
- 
- 	return validate_arguments ();
- 
- }
- 
- int
- call_getopt (int argc, char **argv)
- {
- 	int c, i = 1;
- 
  #ifdef HAVE_GETOPT_H
  	int opt_index = 0;
--- 259,262 ----
***************
*** 312,321 ****
  #endif
  
  
  	while (1) {
  #ifdef HAVE_GETOPT_H
! 		c = getopt_long (argc, argv, "+?hVvt:H:s:r:a:", long_opts, &opt_index);
  #else
! 		c = getopt (argc, argv, "+?hVvt:H:s:r:a:");
  #endif
  
--- 274,289 ----
  #endif
  
+ 	if (argc < 2)
+ 		return ERROR;
+ 
+ 	for (c = 1; c < argc; c++)
+ 		if (strcmp ("-to", argv[c]) == 0)
+ 			strcpy (argv[c], "-t");
  
  	while (1) {
  #ifdef HAVE_GETOPT_H
! 		c = getopt_long (argc, argv, "hVvt:H:s:r:a:", long_opts, &opt_index);
  #else
! 		c = getopt (argc, argv, "hVvt:H:s:r:a:");
  #endif
  
***************
*** 323,346 ****
  			break;
  
- 		i++;
- 		switch (c) {
- 		case 't':
- 		case 'H':
- 		case 's':
- 		case 'r':
- 		case 'a':
- 			i++;
- 		}
- 
  		switch (c) {
  		case '?': /* args not parsable */
! 			printf ("%s: Unknown argument: %s\n\n", my_basename (argv[0]), optarg);
! 			print_usage (my_basename (argv[0]));
  			exit (STATE_UNKNOWN);
  		case 'h': /* help */
! 			print_help (my_basename (argv[0]));
  			exit (STATE_OK);
  		case 'V': /* version */
! 			print_revision (my_basename (argv[0]), "$Revision$");
  			exit (STATE_OK);
  		case 'v': /* version */
--- 291,304 ----
  			break;
  
  		switch (c) {
  		case '?': /* args not parsable */
! 			printf ("%s: Unknown argument: %s\n\n", PROGNAME, optarg);
! 			print_usage ();
  			exit (STATE_UNKNOWN);
  		case 'h': /* help */
! 			print_help ();
  			exit (STATE_OK);
  		case 'V': /* version */
! 			print_revision (PROGNAME, REVISION);
  			exit (STATE_OK);
  		case 'v': /* version */
***************
*** 353,357 ****
  			if (is_host (optarg) == FALSE) {
  				printf ("Invalid host name/address\n\n");
! 				print_usage (my_basename (argv[0]));
  				exit (STATE_UNKNOWN);
  			}
--- 311,315 ----
  			if (is_host (optarg) == FALSE) {
  				printf ("Invalid host name/address\n\n");
! 				print_usage ();
  				exit (STATE_UNKNOWN);
  			}
***************
*** 363,367 ****
  			if (is_host (optarg) == FALSE) {
  				printf ("Invalid server name/address\n\n");
! 				print_usage (my_basename (argv[0]));
  				exit (STATE_UNKNOWN);
  			}
--- 321,325 ----
  			if (is_host (optarg) == FALSE) {
  				printf ("Invalid server name/address\n\n");
! 				print_usage ();
  				exit (STATE_UNKNOWN);
  			}
***************
*** 373,377 ****
  			if (is_host (optarg) == FALSE) {
  				printf ("Invalid host name/address\n\n");
! 				print_usage (my_basename (argv[0]));
  				exit (STATE_UNKNOWN);
  			}
--- 331,335 ----
  			if (is_host (optarg) == FALSE) {
  				printf ("Invalid host name/address\n\n");
! 				print_usage ();
  				exit (STATE_UNKNOWN);
  			}
***************
*** 383,387 ****
  			if (is_dotted_quad (optarg) == FALSE) {
  				printf ("Invalid expected address\n\n");
! 				print_usage (my_basename (argv[0]));
  				exit (STATE_UNKNOWN);
  			}
--- 341,345 ----
  			if (is_dotted_quad (optarg) == FALSE) {
  				printf ("Invalid expected address\n\n");
! 				print_usage ();
  				exit (STATE_UNKNOWN);
  			}
***************
*** 393,397 ****
  		}
  	}
! 	return i;
  }
  
--- 351,377 ----
  		}
  	}
! 
! 	c = optind;
! 	if (query_address[0] == 0) {
! 		if (is_host (argv[c]) == FALSE) {
! 			printf ("Invalid name/address: %s\n\n", argv[c]);
! 			return ERROR;
! 		}
! 		if (strlen (argv[c]) >= ADDRESS_LENGTH)
! 			terminate (STATE_UNKNOWN, "Input buffer overflow\n");
! 		strcpy (query_address, argv[c++]);
! 	}
! 
! 	if (dns_server[0] == 0) {
! 		if (is_host (argv[c]) == FALSE) {
! 			printf ("Invalid name/address: %s\n\n", argv[c]);
! 			return ERROR;
! 		}
! 		if (strlen (argv[c]) >= ADDRESS_LENGTH)
! 			terminate (STATE_UNKNOWN, "Input buffer overflow\n");
! 		strcpy (dns_server, argv[c++]);
! 	}
! 
! 	return validate_arguments ();
  }
  
***************
*** 406,424 ****
  
  void
! print_usage (char *cmd)
  {
  	printf ("Usage: %s -H host [-s server] [-a expected-address] [-t timeout]\n" "       %s --help\n"
! 					"       %s --version\n", cmd, cmd, cmd);
  }
  
  void
! print_help (char *cmd)
  {
! 	print_revision (cmd, "$Revision$");
  	printf ("Copyright (c) 1999 Ethan Galstad (nagios at nagios.org)\n\n");
! 	print_usage (cmd);
! 	printf ("\n");
  	printf
! 		("-H, --hostname=HOST\n"
  		 "   The name or address you want to query\n"
  		 "-s, --server=HOST\n"
--- 386,404 ----
  
  void
! print_usage (void)
  {
  	printf ("Usage: %s -H host [-s server] [-a expected-address] [-t timeout]\n" "       %s --help\n"
! 					"       %s --version\n", PROGNAME, PROGNAME, PROGNAME);
  }
  
  void
! print_help (void)
  {
! 	print_revision (PROGNAME, REVISION);
  	printf ("Copyright (c) 1999 Ethan Galstad (nagios at nagios.org)\n\n");
! 	print_usage ();
  	printf
! 		("\nOptions:\n"
! 		 "-H, --hostname=HOST\n"
  		 "   The name or address you want to query\n"
  		 "-s, --server=HOST\n"

Index: check_fping.c
===================================================================
RCS file: /cvsroot/nagiosplug/nagiosplug/plugins/check_fping.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -r1.2 -r1.3
*** check_fping.c	19 Jun 2002 05:11:52 -0000	1.2
--- check_fping.c	13 Nov 2002 11:50:54 -0000	1.3
***************
*** 72,78 ****
  
  	/* compose the command */
! 	command_line = ssprintf
! 		(command_line, "%s -b %d -c %d %s",
! 		 PATH_TO_FPING, packet_size, packet_count, server);
  
  	if (verbose)
--- 72,77 ----
  
  	/* compose the command */
! 	asprintf (&command_line, "%s -b %d -c %d %s", PATH_TO_FPING,
! 	          packet_size, packet_count, server);
  
  	if (verbose)

Index: check_hpjd.c
===================================================================
RCS file: /cvsroot/nagiosplug/nagiosplug/plugins/check_hpjd.c,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -r1.4 -r1.5
*** check_hpjd.c	14 Aug 2002 19:03:56 -0000	1.4
--- check_hpjd.c	13 Nov 2002 11:50:54 -0000	1.5
***************
*** 67,70 ****
--- 67,72 ----
  
  #define PROGNAME "check_hpjd"
+ #define REVISION "$Revision$"
+ #define COPYRIGHT "2000-2002"
  
  #define HPJD_LINE_STATUS		".1.3.6.1.4.1.11.2.3.9.1.1.2.1"
***************
*** 85,89 ****
  
  int process_arguments (int, char **);
- int call_getopt (int, char **);
  int validate_arguments (void);
  void print_help (void);
--- 87,90 ----
***************
*** 91,95 ****
  
  char *community = NULL;
! char *address = NULL;
  
  int
--- 92,97 ----
  
  char *community = NULL;
! char *address = "127.0.0.1";
! 
  
  int
***************
*** 387,439 ****
  	int c;
  
- 	if (argc < 2)
- 		return ERROR;
- 
- 	for (c = 1; c < argc; c++) {
- 		if (strcmp ("-to", argv[c]) == 0)
- 			strcpy (argv[c], "-t");
- 		else if (strcmp ("-wt", argv[c]) == 0)
- 			strcpy (argv[c], "-w");
- 		else if (strcmp ("-ct", argv[c]) == 0)
- 			strcpy (argv[c], "-c");
- 	}
- 
- 
- 
- 	c = 0;
- 	while ((c += (call_getopt (argc - c, &argv[c]))) < argc) {
- 
- 		if (is_option (argv[c]))
- 			continue;
- 
- 		if (address == NULL) {
- 			if (is_host (argv[c])) {
- 				address = argv[c];
- 			}
- 			else {
- 				usage ("Invalid host name");
- 			}
- 		}
- 		else if (community == NULL) {
- 			community = argv[c];
- 		}
- 	}
- 
- 	if (address == NULL)
- 		address = strscpy (NULL, "127.0.0.1");
- 
- 	return validate_arguments ();
- }
- 
- 
- 
- 
- 
- 
- int
- call_getopt (int argc, char **argv)
- {
- 	int c, i = 0;
- 
  #ifdef HAVE_GETOPT_H
  	int option_index = 0;
--- 389,392 ----
***************
*** 451,454 ****
--- 404,419 ----
  #endif
  
+ 	if (argc < 2)
+ 		return ERROR;
+ 
+ 	for (c = 1; c < argc; c++) {
+ 		if (strcmp ("-to", argv[c]) == 0)
+ 			strcpy (argv[c], "-t");
+ 		else if (strcmp ("-wt", argv[c]) == 0)
+ 			strcpy (argv[c], "-w");
+ 		else if (strcmp ("-ct", argv[c]) == 0)
+ 			strcpy (argv[c], "-c");
+ 	}
+ 
  	while (1) {
  #ifdef HAVE_GETOPT_H
***************
*** 458,473 ****
  #endif
  
- 		i++;
- 
  		if (c == -1 || c == EOF || c == 1)
  			break;
  
  		switch (c) {
- 		case 'H':
- 		case 'C':
- 			i++;
- 		}
- 
- 		switch (c) {
  		case 'H':									/* hostname */
  			if (is_host (optarg)) {
--- 423,430 ----
***************
*** 482,486 ****
  			break;
  		case 'V':									/* version */
! 			print_revision (PROGNAME, "$Revision$");
  			exit (STATE_OK);
  		case 'h':									/* help */
--- 439,443 ----
  			break;
  		case 'V':									/* version */
! 			print_revision (PROGNAME, REVISION);
  			exit (STATE_OK);
  		case 'h':									/* help */
***************
*** 491,495 ****
  		}
  	}
! 	return i;
  }
  
--- 448,467 ----
  		}
  	}
! 
! 	c = optind;
! 	if (address == NULL) {
! 		if (is_host (argv[c])) {
! 			address = argv[c++];
! 		}
! 		else {
! 			usage ("Invalid host name");
! 		}
! 	}
! 
! 	if (community == NULL) {
! 		community = argv[c++];
! 	}
! 
! 	return validate_arguments ();
  }
  
***************
*** 511,515 ****
  print_help (void)
  {
! 	print_revision (PROGNAME, "$Revision$");
  	printf
  		("Copyright (c) 2000 Ethan Galstad/Karl DeBisschop\n\n"
--- 483,487 ----
  print_help (void)
  {
! 	print_revision (PROGNAME, REVISION);
  	printf
  		("Copyright (c) 2000 Ethan Galstad/Karl DeBisschop\n\n"

Index: check_mrtg.c
===================================================================
RCS file: /cvsroot/nagiosplug/nagiosplug/plugins/check_mrtg.c,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -C2 -r1.1.1.1 -r1.2
*** check_mrtg.c	28 Feb 2002 06:42:58 -0000	1.1.1.1
--- check_mrtg.c	13 Nov 2002 11:50:54 -0000	1.2
***************
*** 87,91 ****
  
  int process_arguments (int, char **);
- int call_getopt (int, char **);
  int validate_arguments (void);
  void print_help (void);
--- 87,90 ----
***************
*** 98,103 ****
  unsigned long value_warning_threshold = 0L;
  unsigned long value_critical_threshold = 0L;
! char *value_label = NULL;
! char *units_label = NULL;
  
  int
--- 97,102 ----
  unsigned long value_warning_threshold = 0L;
  unsigned long value_critical_threshold = 0L;
! char *value_label = "";
! char *units_label = "";
  
  int
***************
*** 216,296 ****
  	int c;
  
- 	if (argc < 2)
- 		return ERROR;
- 
- 	for (c = 1; c < argc; c++) {
- 		if (strcmp ("-to", argv[c]) == 0)
- 			strcpy (argv[c], "-t");
- 		else if (strcmp ("-wt", argv[c]) == 0)
- 			strcpy (argv[c], "-w");
- 		else if (strcmp ("-ct", argv[c]) == 0)
- 			strcpy (argv[c], "-c");
- 	}
- 
- 
- 
- 	c = 0;
- 	while ((c += (call_getopt (argc - c, &argv[c]))) < argc) {
- 
- 		if (is_option (argv[c]))
- 			continue;
- 
- 		if (log_file == NULL) {
- 			log_file = argv[c];
- 		}
- 		else if (expire_minutes <= 0) {
- 			if (is_intpos (argv[c]))
- 				expire_minutes = atoi (argv[c]);
- 			else
- 				terminate (STATE_UNKNOWN,
- 									 "%s is not a valid expiration time\nUse '%s -h' for additional help\n",
- 									 argv[c], PROGNAME);
- 		}
- 		else if (strcmp (argv[c], "MAX") == 0) {
- 			use_average = FALSE;
- 		}
- 		else if (strcmp (argv[c], "AVG") == 0) {
- 			use_average = TRUE;
- 		}
- 		else if (variable_number == -1) {
- 			variable_number = atoi (argv[c]);
- 			if (variable_number < 1 || variable_number > 2) {
- 				printf ("%s :", argv[c]);
- 				usage ("Invalid variable number\n");
- 			}
- 		}
- 		else if (value_warning_threshold == 0) {
- 			value_warning_threshold = strtoul (argv[c], NULL, 10);
- 		}
- 		else if (value_critical_threshold == 0) {
- 			value_critical_threshold = strtoul (argv[c], NULL, 10);
- 		}
- 		else if (value_label == NULL) {
- 			value_label = argv[c];
- 		}
- 		else if (units_label == NULL) {
- 			units_label = argv[c];
- 		}
- 	}
- 
- 	if (value_label == NULL)
- 		value_label = strscpy (NULL, "");
- 
- 	if (units_label == NULL)
- 		units_label = strscpy (NULL, "");
- 
- 	return validate_arguments ();
- }
- 
- 
- 
- 
- 
- 
- int
- call_getopt (int argc, char **argv)
- {
- 	int c, i = 0;
- 
  #ifdef HAVE_GETOPT_H
  	int option_index = 0;
--- 215,218 ----
***************
*** 311,341 ****
  #endif
  
  	while (1) {
  #ifdef HAVE_GETOPT_H
  		c =
! 			getopt_long (argc, argv, "+hVF:e:a:v:c:w:l:u:", long_options,
  									 &option_index);
  #else
! 		c = getopt (argc, argv, "+?hVF:e:a:v:c:w:l:u:");
  #endif
  
! 		i++;
! 
! 		if (c == -1 || c == EOF || c == 1)
  			break;
  
  		switch (c) {
- 		case 'F':
- 		case 'e':
- 		case 'a':
- 		case 'v':
- 		case 'c':
- 		case 'w':
- 		case 'l':
- 		case 'u':
- 			i++;
- 		}
- 
- 		switch (c) {
  		case 'F':									/* input file */
  			log_file = optarg;
--- 233,261 ----
  #endif
  
+ 	if (argc < 2)
+ 		return ERROR;
+ 
+ 	for (c = 1; c < argc; c++) {
+ 		if (strcmp ("-to", argv[c]) == 0)
+ 			strcpy (argv[c], "-t");
+ 		else if (strcmp ("-wt", argv[c]) == 0)
+ 			strcpy (argv[c], "-w");
+ 		else if (strcmp ("-ct", argv[c]) == 0)
+ 			strcpy (argv[c], "-c");
+ 	}
+ 
  	while (1) {
  #ifdef HAVE_GETOPT_H
  		c =
! 			getopt_long (argc, argv, "hVF:e:a:v:c:w:l:u:", long_options,
  									 &option_index);
  #else
! 		c = getopt (argc, argv, "hVF:e:a:v:c:w:l:u:");
  #endif
  
! 		if (c == -1 || c == EOF)
  			break;
  
  		switch (c) {
  		case 'F':									/* input file */
  			log_file = optarg;
***************
*** 368,372 ****
  			break;
  		case 'V':									/* version */
! 			print_revision (PROGNAME, "$Revision$");
  			exit (STATE_OK);
  		case 'h':									/* help */
--- 288,292 ----
  			break;
  		case 'V':									/* version */
! 			print_revision (PROGNAME, REVISION);
  			exit (STATE_OK);
  		case 'h':									/* help */
***************
*** 377,381 ****
  		}
  	}
! 	return i;
  }
  
--- 297,349 ----
  		}
  	}
! 
! 	c = optind;
! 	if (log_file == NULL && argc > c) {
! 		log_file = argv[c++];
! 	}
! 
! 	if (expire_minutes <= 0 && argc > c) {
! 		if (is_intpos (argv[c]))
! 			expire_minutes = atoi (argv[c++]);
! 		else
! 			terminate (STATE_UNKNOWN,
! 			           "%s is not a valid expiration time\nUse '%s -h' for additional help\n",
! 			           argv[c], PROGNAME);
! 	}
! 
! 	if (argc > c && strcmp (argv[c], "MAX") == 0) {
! 		use_average = FALSE;
! 		c++;
! 	}
! 	else if (argc > c && strcmp (argv[c], "AVG") == 0) {
! 		use_average = TRUE;
! 		c++;
! 	}
! 
! 	if (argc > c && variable_number == -1) {
! 		variable_number = atoi (argv[c++]);
! 		if (variable_number < 1 || variable_number > 2) {
! 			printf ("%s :", argv[c]);
! 			usage ("Invalid variable number\n");
! 		}
! 	}
! 
! 	if (argc > c && value_warning_threshold == 0) {
! 		value_warning_threshold = strtoul (argv[c++], NULL, 10);
! 	}
! 
! 	if (vargc > c && alue_critical_threshold == 0) {
! 		value_critical_threshold = strtoul (argv[c++], NULL, 10);
! 	}
! 
! 	if (argc > c && strlen (value_label) == 0) {
! 		value_label = argv[c++];
! 	}
! 
! 	if (argc > c && strlen (units_label) == 0) {
! 		units_label = argv[c++];
! 	}
! 
! 	return validate_arguments ();
  }
  

Index: check_nwstat.c
===================================================================
RCS file: /cvsroot/nagiosplug/nagiosplug/plugins/check_nwstat.c,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -C2 -r1.1.1.1 -r1.2
*** check_nwstat.c	28 Feb 2002 06:42:58 -0000	1.1.1.1
--- check_nwstat.c	13 Nov 2002 11:50:54 -0000	1.2
***************
*** 181,191 ****
  			return result;
  		if(!strcmp(recv_buffer,"-1\n"))
! 			netware_version = ssprintf(netware_version,"");
  		else {
  			recv_buffer[strlen(recv_buffer)-1]=0;
! 			netware_version = ssprintf(netware_version,"NetWare %s: ",recv_buffer);
  		}
  	} else
! 		netware_version = ssprintf(netware_version,"");
  
  
--- 181,191 ----
  			return result;
  		if(!strcmp(recv_buffer,"-1\n"))
! 			asprintf(&netware_version,"");
  		else {
  			recv_buffer[strlen(recv_buffer)-1]=0;
! 			asprintf(&netware_version,"NetWare %s: ",recv_buffer);
  		}
  	} else
! 		asprintf(&netware_version,"");
  
  
***************
*** 205,209 ****
  		}
  
! 		send_buffer = ssprintf(send_buffer,"UTIL%s\r\n",temp_buffer);
  		result=process_tcp_request(server_address,server_port,send_buffer,recv_buffer,sizeof(recv_buffer));
  		if(result!=STATE_OK)
--- 205,209 ----
  		}
  
! 		asprintf(&send_buffer,"UTIL%s\r\n",temp_buffer);
  		result=process_tcp_request(server_address,server_port,send_buffer,recv_buffer,sizeof(recv_buffer));
  		if(result!=STATE_OK)
***************
*** 222,226 ****
  			result=STATE_WARNING;
  
! 		output_message = ssprintf(output_message,"Load %s - %s %s-min load average = %lu%%",(result==STATE_OK)?"ok":"problem",uptime,temp_buffer,utilization);
  
  	/* check number of user connections */
--- 222,226 ----
  			result=STATE_WARNING;
  
! 		asprintf(&output_message,"Load %s - %s %s-min load average = %lu%%",(result==STATE_OK)?"ok":"problem",uptime,temp_buffer,utilization);
  
  	/* check number of user connections */
***************
*** 237,241 ****
  		else if(check_warning_value==TRUE && current_connections >= warning_value)
  			result=STATE_WARNING;
! 		output_message = ssprintf(output_message,"Conns %s - %lu current connections",(result==STATE_OK)?"ok":"problem",current_connections);
  
  	/* check % long term cache hits */
--- 237,241 ----
  		else if(check_warning_value==TRUE && current_connections >= warning_value)
  			result=STATE_WARNING;
! 		asprintf(&output_message,"Conns %s - %lu current connections",(result==STATE_OK)?"ok":"problem",current_connections);
  
  	/* check % long term cache hits */
***************
*** 252,256 ****
  		else if(check_warning_value==TRUE && cache_hits <= warning_value)
  			result=STATE_WARNING;
! 		output_message = ssprintf(output_message,"Long term cache hits = %d%%",cache_hits);
  
  	/* check cache buffers */
--- 252,256 ----
  		else if(check_warning_value==TRUE && cache_hits <= warning_value)
  			result=STATE_WARNING;
! 		asprintf(&output_message,"Long term cache hits = %d%%",cache_hits);
  
  	/* check cache buffers */
***************
*** 267,271 ****
  		else if(check_warning_value==TRUE && cache_buffers <= warning_value)
  			result=STATE_WARNING;
! 		output_message = ssprintf(output_message,"Total cache buffers = %lu",cache_buffers);
  
  	/* check dirty cache buffers */
--- 267,271 ----
  		else if(check_warning_value==TRUE && cache_buffers <= warning_value)
  			result=STATE_WARNING;
! 		asprintf(&output_message,"Total cache buffers = %lu",cache_buffers);
  
  	/* check dirty cache buffers */
***************
*** 282,286 ****
  		else if(check_warning_value==TRUE && cache_buffers >= warning_value)
  			result=STATE_WARNING;
! 		output_message = ssprintf(output_message,"Dirty cache buffers = %lu",cache_buffers);
  
  	/* check LRU sitting time in minutes */
--- 282,286 ----
  		else if(check_warning_value==TRUE && cache_buffers >= warning_value)
  			result=STATE_WARNING;
! 		asprintf(&output_message,"Dirty cache buffers = %lu",cache_buffers);
  
  	/* check LRU sitting time in minutes */
***************
*** 297,301 ****
  		else if(check_warning_value==TRUE && lru_time <= warning_value)
  			result=STATE_WARNING;
! 		output_message = ssprintf(output_message,"LRU sitting time = %lu minutes",lru_time);
  
  
--- 297,301 ----
  		else if(check_warning_value==TRUE && lru_time <= warning_value)
  			result=STATE_WARNING;
! 		sprintf(&output_message,"LRU sitting time = %lu minutes",lru_time);
  
  
***************
*** 303,307 ****
  	} else if (vars_to_check==CHECK_VKF) {
  
! 		send_buffer = ssprintf(send_buffer,"VKF%s\r\n",volume_name);
  		result=process_tcp_request(server_address,server_port,send_buffer,recv_buffer,sizeof(recv_buffer));
  		if(result!=STATE_OK)
--- 303,307 ----
  	} else if (vars_to_check==CHECK_VKF) {
  
! 		asprintf(&send_buffer,"VKF%s\r\n",volume_name);
  		result=process_tcp_request(server_address,server_port,send_buffer,recv_buffer,sizeof(recv_buffer));
  		if(result!=STATE_OK)
***************
*** 309,313 ****
  
  		if (!strcmp(recv_buffer,"-1\n")) {
! 			output_message = ssprintf(output_message,"Error: Volume '%s' does not exist!",volume_name);
  			result=STATE_CRITICAL;
  		}	else {
--- 309,313 ----
  
  		if (!strcmp(recv_buffer,"-1\n")) {
! 			asprintf(&output_message,"Error: Volume '%s' does not exist!",volume_name);
  			result=STATE_CRITICAL;
  		}	else {
***************
*** 317,321 ****
  			else if(check_warning_value==TRUE && free_disk_space <= warning_value)
  				result=STATE_WARNING;
! 			output_message = ssprintf(output_message,"%s%lu KB free on volume %s",(result==STATE_OK)?"":"Only ",free_disk_space,volume_name);
  		}
  
--- 317,321 ----
  			else if(check_warning_value==TRUE && free_disk_space <= warning_value)
  				result=STATE_WARNING;
! 			asprintf(&output_message,"%s%lu KB free on volume %s",(result==STATE_OK)?"":"Only ",free_disk_space,volume_name);
  		}
  
***************
*** 323,327 ****
  	} else if (vars_to_check==CHECK_VPF) {
  
! 		send_buffer = ssprintf(send_buffer,"VKF%s\r\n",volume_name);
  		result=process_tcp_request(server_address,server_port,send_buffer,recv_buffer,sizeof(recv_buffer));
  		if(result!=STATE_OK)
--- 323,327 ----
  	} else if (vars_to_check==CHECK_VPF) {
  
! 		asprintf(&send_buffer,"VKF%s\r\n",volume_name);
  		result=process_tcp_request(server_address,server_port,send_buffer,recv_buffer,sizeof(recv_buffer));
  		if(result!=STATE_OK)
***************
*** 330,334 ****
  		if(!strcmp(recv_buffer,"-1\n")){
  
! 			output_message = ssprintf(output_message,"Error: Volume '%s' does not exist!",volume_name);
  			result=STATE_CRITICAL;
  
--- 330,334 ----
  		if(!strcmp(recv_buffer,"-1\n")){
  
! 			asprintf(&output_message,"Error: Volume '%s' does not exist!",volume_name);
  			result=STATE_CRITICAL;
  
***************
*** 337,341 ****
  			free_disk_space=strtoul(recv_buffer,NULL,10);
  
! 			send_buffer = ssprintf(send_buffer,"VKS%s\r\n",volume_name);
  			result=process_tcp_request(server_address,server_port,send_buffer,recv_buffer,sizeof(recv_buffer));
  			if(result!=STATE_OK)
--- 337,341 ----
  			free_disk_space=strtoul(recv_buffer,NULL,10);
  
! 			asprintf(&send_buffer,"VKS%s\r\n",volume_name);
  			result=process_tcp_request(server_address,server_port,send_buffer,recv_buffer,sizeof(recv_buffer));
  			if(result!=STATE_OK)
***************
*** 350,354 ****
  				result=STATE_WARNING;
  			free_disk_space/=1024;
! 			output_message = ssprintf(output_message,"%lu MB (%d%%) free on volume %s",free_disk_space,percent_free_space,volume_name);
  		}
  
--- 350,354 ----
  				result=STATE_WARNING;
  			free_disk_space/=1024;
! 			asprintf(&output_message,"%lu MB (%d%%) free on volume %s",free_disk_space,percent_free_space,volume_name);
  		}
  
***************
*** 369,373 ****
  		temp_buffer=strtok(recv_buffer,"\r\n");
   
! 		output_message = ssprintf(output_message,"Directory Services Database is %s (DS version %s)",(result==STATE_OK)?"open":"closed",temp_buffer);
  
  	/* check to see if logins are enabled */
--- 369,373 ----
  		temp_buffer=strtok(recv_buffer,"\r\n");
   
! 		asprintf(&output_message,"Directory Services Database is %s (DS version %s)",(result==STATE_OK)?"open":"closed",temp_buffer);
  
  	/* check to see if logins are enabled */
***************
*** 383,392 ****
  			result=STATE_WARNING;
   
! 		output_message = ssprintf(output_message,"Logins are %s",(result==STATE_OK)?"enabled":"disabled");
  
  	/* check packet receive buffers */
  	} else if (vars_to_check==CHECK_UPRB || vars_to_check==CHECK_PUPRB) {
   
! 		send_buffer = ssprintf(send_buffer,"S15\r\n",volume_name);
  		result=process_tcp_request(server_address,server_port,send_buffer,recv_buffer,sizeof(recv_buffer));
  		if(result!=STATE_OK)
--- 383,392 ----
  			result=STATE_WARNING;
   
! 		asprintf(&output_message,"Logins are %s",(result==STATE_OK)?"enabled":"disabled");
  
  	/* check packet receive buffers */
  	} else if (vars_to_check==CHECK_UPRB || vars_to_check==CHECK_PUPRB) {
   
! 		asprintf(&send_buffer,"S15\r\n",volume_name);
  		result=process_tcp_request(server_address,server_port,send_buffer,recv_buffer,sizeof(recv_buffer));
  		if(result!=STATE_OK)
***************
*** 395,399 ****
  		used_packet_receive_buffers=atoi(recv_buffer);
  
! 		send_buffer = ssprintf(send_buffer,"S16\r\n",volume_name);
  		result=process_tcp_request(server_address,server_port,send_buffer,recv_buffer,sizeof(recv_buffer));
  		if(result!=STATE_OK)
--- 395,399 ----
  		used_packet_receive_buffers=atoi(recv_buffer);
  
! 		asprintf(&send_buffer,"S16\r\n",volume_name);
  		result=process_tcp_request(server_address,server_port,send_buffer,recv_buffer,sizeof(recv_buffer));
  		if(result!=STATE_OK)
***************
*** 416,420 ****
  		}
   
! 		output_message = ssprintf(output_message,"%d of %d (%lu%%) packet receive buffers used",used_packet_receive_buffers,max_packet_receive_buffers,percent_used_packet_receive_buffers);
  
  	/* check SAP table entries */
--- 416,420 ----
  		}
   
! 		asprintf(&output_message,"%d of %d (%lu%%) packet receive buffers used",used_packet_receive_buffers,max_packet_receive_buffers,percent_used_packet_receive_buffers);
  
  	/* check SAP table entries */
***************
*** 422,428 ****
  
  		if(sap_number==-1)
! 			send_buffer = ssprintf(send_buffer,"S9\r\n");
  		else
! 			send_buffer = ssprintf(send_buffer,"S9.%d\r\n",sap_number);
  		result=process_tcp_request(server_address,server_port,send_buffer,recv_buffer,sizeof(recv_buffer));
  		if(result!=STATE_OK)
--- 422,428 ----
  
  		if(sap_number==-1)
! 			asprintf(&send_buffer,"S9\r\n");
  		else
! 			asprintf(&send_buffer,"S9.%d\r\n",sap_number);
  		result=process_tcp_request(server_address,server_port,send_buffer,recv_buffer,sizeof(recv_buffer));
  		if(result!=STATE_OK)
***************
*** 437,448 ****
  
  		if(sap_number==-1)
! 			output_message = ssprintf(output_message,"%d entries in SAP table",sap_entries);
  		else
! 			output_message = ssprintf(output_message,"%d entries in SAP table for SAP type %d",sap_entries,sap_number);
  
  	/* check KB purgeable space on volume */
  	} else if (vars_to_check==CHECK_VKP) {
  
! 		send_buffer = ssprintf(send_buffer,"VKP%s\r\n",volume_name);
  		result=process_tcp_request(server_address,server_port,send_buffer,recv_buffer,sizeof(recv_buffer));
  		if(result!=STATE_OK)
--- 437,448 ----
  
  		if(sap_number==-1)
! 			asprintf(&output_message,"%d entries in SAP table",sap_entries);
  		else
! 			asprintf(&output_message,"%d entries in SAP table for SAP type %d",sap_entries,sap_number);
  
  	/* check KB purgeable space on volume */
  	} else if (vars_to_check==CHECK_VKP) {
  
! 		asprintf(&send_buffer,"VKP%s\r\n",volume_name);
  		result=process_tcp_request(server_address,server_port,send_buffer,recv_buffer,sizeof(recv_buffer));
  		if(result!=STATE_OK)
***************
*** 450,454 ****
  
  		if (!strcmp(recv_buffer,"-1\n")) {
! 			output_message = ssprintf(output_message,"Error: Volume '%s' does not exist!",volume_name);
  			result=STATE_CRITICAL;
  		} else {
--- 450,454 ----
  
  		if (!strcmp(recv_buffer,"-1\n")) {
! 			asprintf(&output_message,"Error: Volume '%s' does not exist!",volume_name);
  			result=STATE_CRITICAL;
  		} else {
***************
*** 458,462 ****
  			else if(check_warning_value==TRUE && purgeable_disk_space >= warning_value)
  				result=STATE_WARNING;
! 			output_message = ssprintf(output_message,"%s%lu KB purgeable on volume %s",(result==STATE_OK)?"":"Only ",purgeable_disk_space,volume_name);
  		}
  
--- 458,462 ----
  			else if(check_warning_value==TRUE && purgeable_disk_space >= warning_value)
  				result=STATE_WARNING;
! 			asprintf(&output_message,"%s%lu KB purgeable on volume %s",(result==STATE_OK)?"":"Only ",purgeable_disk_space,volume_name);
  		}
  
***************
*** 464,468 ****
  	} else if (vars_to_check==CHECK_VPP) {
  
! 		send_buffer = ssprintf(send_buffer,"VKP%s\r\n",volume_name);
  		result=process_tcp_request(server_address,server_port,send_buffer,recv_buffer,sizeof(recv_buffer));
  		if(result!=STATE_OK)
--- 464,468 ----
  	} else if (vars_to_check==CHECK_VPP) {
  
! 		asprintf(&send_buffer,"VKP%s\r\n",volume_name);
  		result=process_tcp_request(server_address,server_port,send_buffer,recv_buffer,sizeof(recv_buffer));
  		if(result!=STATE_OK)
***************
*** 471,475 ****
  		if(!strcmp(recv_buffer,"-1\n")){
  
! 			output_message = ssprintf(output_message,"Error: Volume '%s' does not exist!",volume_name);
  			result=STATE_CRITICAL;
  
--- 471,475 ----
  		if(!strcmp(recv_buffer,"-1\n")){
  
! 			asprintf(&output_message,"Error: Volume '%s' does not exist!",volume_name);
  			result=STATE_CRITICAL;
  
***************
*** 478,482 ****
  			purgeable_disk_space=strtoul(recv_buffer,NULL,10);
  
! 			send_buffer = ssprintf(send_buffer,"VKS%s\r\n",volume_name);
  			result=process_tcp_request(server_address,server_port,send_buffer,recv_buffer,sizeof(recv_buffer));
  			if(result!=STATE_OK)
--- 478,482 ----
  			purgeable_disk_space=strtoul(recv_buffer,NULL,10);
  
! 			asprintf(&send_buffer,"VKS%s\r\n",volume_name);
  			result=process_tcp_request(server_address,server_port,send_buffer,recv_buffer,sizeof(recv_buffer));
  			if(result!=STATE_OK)
***************
*** 491,495 ****
  				result=STATE_WARNING;
  			purgeable_disk_space/=1024;
! 			output_message = ssprintf(output_message,"%lu MB (%d%%) purgeable on volume %s",purgeable_disk_space,percent_purgeable_space,volume_name);
  		}
  
--- 491,495 ----
  				result=STATE_WARNING;
  			purgeable_disk_space/=1024;
! 			asprintf(&output_message,"%lu MB (%d%%) purgeable on volume %s",purgeable_disk_space,percent_purgeable_space,volume_name);
  		}
  
***************
*** 497,501 ****
  	} else if (vars_to_check==CHECK_VKNP) {
  
! 		send_buffer = ssprintf(send_buffer,"VKNP%s\r\n",volume_name);
  		result=process_tcp_request(server_address,server_port,send_buffer,recv_buffer,sizeof(recv_buffer));
  		if(result!=STATE_OK)
--- 497,501 ----
  	} else if (vars_to_check==CHECK_VKNP) {
  
! 		asprintf(&send_buffer,"VKNP%s\r\n",volume_name);
  		result=process_tcp_request(server_address,server_port,send_buffer,recv_buffer,sizeof(recv_buffer));
  		if(result!=STATE_OK)
***************
*** 503,507 ****
  
  		if (!strcmp(recv_buffer,"-1\n")) {
! 			output_message = ssprintf(output_message,"Error: Volume '%s' does not exist!",volume_name);
  			result=STATE_CRITICAL;
  		} else {
--- 503,507 ----
  
  		if (!strcmp(recv_buffer,"-1\n")) {
! 			asprintf(&output_message,"Error: Volume '%s' does not exist!",volume_name);
  			result=STATE_CRITICAL;
  		} else {
***************
*** 511,515 ****
  			else if(check_warning_value==TRUE && non_purgeable_disk_space >= warning_value)
  				result=STATE_WARNING;
! 			output_message = ssprintf(output_message,"%s%lu KB not yet purgeable on volume %s",(result==STATE_OK)?"":"Only ",non_purgeable_disk_space,volume_name);
  		}
  
--- 511,515 ----
  			else if(check_warning_value==TRUE && non_purgeable_disk_space >= warning_value)
  				result=STATE_WARNING;
! 			asprintf(&output_message,"%s%lu KB not yet purgeable on volume %s",(result==STATE_OK)?"":"Only ",non_purgeable_disk_space,volume_name);
  		}
  
***************
*** 517,521 ****
  	} else if (vars_to_check==CHECK_VPNP) {
  
! 		send_buffer = ssprintf(send_buffer,"VKNP%s\r\n",volume_name);
  		result=process_tcp_request(server_address,server_port,send_buffer,recv_buffer,sizeof(recv_buffer));
  		if(result!=STATE_OK)
--- 517,521 ----
  	} else if (vars_to_check==CHECK_VPNP) {
  
! 		asprintf(&send_buffer,"VKNP%s\r\n",volume_name);
  		result=process_tcp_request(server_address,server_port,send_buffer,recv_buffer,sizeof(recv_buffer));
  		if(result!=STATE_OK)
***************
*** 524,528 ****
  		if(!strcmp(recv_buffer,"-1\n")){
  
! 			output_message = ssprintf(output_message,"Error: Volume '%s' does not exist!",volume_name);
  			result=STATE_CRITICAL;
  
--- 524,528 ----
  		if(!strcmp(recv_buffer,"-1\n")){
  
! 			asprintf(&output_message,"Error: Volume '%s' does not exist!",volume_name);
  			result=STATE_CRITICAL;
  
***************
*** 531,535 ****
  			non_purgeable_disk_space=strtoul(recv_buffer,NULL,10);
  
! 			send_buffer = ssprintf(send_buffer,"VKS%s\r\n",volume_name);
  			result=process_tcp_request(server_address,server_port,send_buffer,recv_buffer,sizeof(recv_buffer));
  			if(result!=STATE_OK)
--- 531,535 ----
  			non_purgeable_disk_space=strtoul(recv_buffer,NULL,10);
  
! 			asprintf(&send_buffer,"VKS%s\r\n",volume_name);
  			result=process_tcp_request(server_address,server_port,send_buffer,recv_buffer,sizeof(recv_buffer));
  			if(result!=STATE_OK)
***************
*** 544,548 ****
  				result=STATE_WARNING;
  			purgeable_disk_space/=1024;
! 			output_message = ssprintf(output_message,"%lu MB (%d%%) not yet purgeable on volume %s",non_purgeable_disk_space,percent_non_purgeable_space,volume_name);
  		}
  
--- 544,548 ----
  				result=STATE_WARNING;
  			purgeable_disk_space/=1024;
! 			asprintf(&output_message,"%lu MB (%d%%) not yet purgeable on volume %s",non_purgeable_disk_space,percent_non_purgeable_space,volume_name);
  		}
  
***************
*** 550,554 ****
  	} else if (vars_to_check==CHECK_OFILES) {
  
! 		send_buffer = ssprintf(send_buffer,"S18\r\n");
  		result=process_tcp_request(server_address,server_port,send_buffer,recv_buffer,sizeof(recv_buffer));
  		if(result!=STATE_OK)
--- 550,554 ----
  	} else if (vars_to_check==CHECK_OFILES) {
  
! 		asprintf(&send_buffer,"S18\r\n");
  		result=process_tcp_request(server_address,server_port,send_buffer,recv_buffer,sizeof(recv_buffer));
  		if(result!=STATE_OK)
***************
*** 562,571 ****
  			result=STATE_WARNING;
  
! 		output_message = ssprintf(output_message,"%d open files",open_files);
  
  	/* check # of abended threads (Netware 5.x only) */
  	} else if (vars_to_check==CHECK_ABENDS) {
  
! 		send_buffer = ssprintf(send_buffer,"S17\r\n");
  		result=process_tcp_request(server_address,server_port,send_buffer,recv_buffer,sizeof(recv_buffer));
  		if(result!=STATE_OK)
--- 562,571 ----
  			result=STATE_WARNING;
  
! 		asprintf(&output_message,"%d open files",open_files);
  
  	/* check # of abended threads (Netware 5.x only) */
  	} else if (vars_to_check==CHECK_ABENDS) {
  
! 		asprintf(&send_buffer,"S17\r\n");
  		result=process_tcp_request(server_address,server_port,send_buffer,recv_buffer,sizeof(recv_buffer));
  		if(result!=STATE_OK)
***************
*** 579,588 ****
  			result=STATE_WARNING;
  
! 		output_message = ssprintf(output_message,"%d abended threads",abended_threads);
  
  	/* check # of current service processes (Netware 5.x only) */
  	} else if (vars_to_check==CHECK_CSPROCS) {
  
! 		send_buffer = ssprintf(send_buffer,"S20\r\n");
  		result=process_tcp_request(server_address,server_port,send_buffer,recv_buffer,sizeof(recv_buffer));
  		if(result!=STATE_OK)
--- 579,588 ----
  			result=STATE_WARNING;
  
! 		asprintf(&output_message,"%d abended threads",abended_threads);
  
  	/* check # of current service processes (Netware 5.x only) */
  	} else if (vars_to_check==CHECK_CSPROCS) {
  
! 		asprintf(&send_buffer,"S20\r\n");
  		result=process_tcp_request(server_address,server_port,send_buffer,recv_buffer,sizeof(recv_buffer));
  		if(result!=STATE_OK)
***************
*** 591,595 ****
  		max_service_processes=atoi(recv_buffer);
   
! 		send_buffer = ssprintf(send_buffer,"S21\r\n");
  		result=process_tcp_request(server_address,server_port,send_buffer,recv_buffer,sizeof(recv_buffer));
  		if(result!=STATE_OK)
--- 591,595 ----
  		max_service_processes=atoi(recv_buffer);
   
! 		sprintf(&send_buffer,"S21\r\n");
  		result=process_tcp_request(server_address,server_port,send_buffer,recv_buffer,sizeof(recv_buffer));
  		if(result!=STATE_OK)
***************
*** 603,607 ****
  			result=STATE_WARNING;
  
! 		output_message = ssprintf(output_message,"%d current service processes (%d max)",current_service_processes,max_service_processes);
  
  	} else {
--- 603,607 ----
  			result=STATE_WARNING;
  
! 		asprintf(&output_message,"%d current service processes (%d max)",current_service_processes,max_service_processes);
  
  	} else {

Index: check_ping.c
===================================================================
RCS file: /cvsroot/nagiosplug/nagiosplug/plugins/check_ping.c,v
retrieving revision 1.9
retrieving revision 1.10
diff -C2 -r1.9 -r1.10
*** check_ping.c	9 Nov 2002 04:22:22 -0000	1.9
--- check_ping.c	13 Nov 2002 11:50:54 -0000	1.10
***************
*** 89,97 ****
  	/* does the host address of number of packets argument come first? */
  #ifdef PING_PACKETS_FIRST
! 	command_line =
! 		ssprintf (command_line, PING_COMMAND, max_packets, server_address);
  #else
! 	command_line =
! 		ssprintf (command_line, PING_COMMAND, server_address, max_packets);
  #endif
  
--- 89,95 ----
  	/* does the host address of number of packets argument come first? */
  #ifdef PING_PACKETS_FIRST
! 	asprintf (&command_line, PING_COMMAND, max_packets, server_address);
  #else
! 	asprintf (&command_line, PING_COMMAND, server_address, max_packets);
  #endif
  

Index: check_vsz.c
===================================================================
RCS file: /cvsroot/nagiosplug/nagiosplug/plugins/check_vsz.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -r1.3 -r1.4
*** check_vsz.c	8 Nov 2002 08:06:55 -0000	1.3
--- check_vsz.c	13 Nov 2002 11:50:54 -0000	1.4
***************
*** 62,66 ****
  	char input_buffer[MAX_INPUT_BUFFER];
  	char proc_name[MAX_INPUT_BUFFER];
! 	char *message = NULL;
  
  	if (!process_arguments (argc, argv)) {
--- 62,66 ----
  	char input_buffer[MAX_INPUT_BUFFER];
  	char proc_name[MAX_INPUT_BUFFER];
! 	char *message = "";
  
  	if (!process_arguments (argc, argv)) {
***************
*** 81,86 ****
  		printf ("Could not open stderr for %s\n", VSZ_COMMAND);
  
- 	message = malloc ((size_t) 1);
- 	message[0] = 0;
  	while (fgets (input_buffer, MAX_INPUT_BUFFER - 1, child_process)) {
  
--- 81,84 ----
***************
*** 94,103 ****
  			if (proc == NULL) {
  				if (proc_size > warn) {
! 					len = strlen (message) + strlen (proc_name) + 23;
! 					message = realloc (message, len);
! 					if (message == NULL)
! 						terminate (STATE_UNKNOWN,
! 											 "check_vsz: could not malloc message (1)");
! 					sprintf (message, "%s %s(%d)", message, proc_name, proc_size);
  					result = max_state (result, STATE_WARNING);
  				}
--- 92,96 ----
  			if (proc == NULL) {
  				if (proc_size > warn) {
! 					asprintf (&message, "%s %s(%d)", message, proc_name, proc_size);
  					result = max_state (result, STATE_WARNING);
  				}
***************
*** 107,116 ****
  			}
  			else if (strstr (proc_name, proc)) {
! 				len = strlen (message) + 21;
! 				message = realloc (message, len);
! 				if (message == NULL)
! 					terminate (STATE_UNKNOWN,
! 										 "check_vsz: could not malloc message (2)");
! 				sprintf (message, "%s %d", message, proc_size);
  				if (proc_size > warn) {
  					result = max_state (result, STATE_WARNING);
--- 100,104 ----
  			}
  			else if (strstr (proc_name, proc)) {
! 				asprintf (&message, "%s %d", message, proc_size);
  				if (proc_size > warn) {
  					result = max_state (result, STATE_WARNING);
***************
*** 207,215 ****
  			break;
  		case 'C':									/* command name */
! 			proc = malloc (strlen (optarg) + 1);
! 			if (proc == NULL)
! 				terminate (STATE_UNKNOWN,
! 									 "check_vsz: failed malloc of proc in process_arguments");
! 			strcpy (proc, optarg);
  			break;
  		}
--- 195,199 ----
  			break;
  		case 'C':									/* command name */
! 			proc = optarg;
  			break;
  		}
***************
*** 237,247 ****
  	}
  
! 	if (proc == NULL) {
! 		proc = malloc (strlen (argv[c]) + 1);
! 		if (proc == NULL)
! 			terminate (STATE_UNKNOWN,
! 								 "check_vsz: failed malloc of proc in process_arguments");
! 		strcpy (proc, argv[c]);
! 	}
  
  	return c;
--- 221,226 ----
  	}
  
! 	if (proc == NULL)
! 		proc = argv[c];
  
  	return c;

Index: urlize.c
===================================================================
RCS file: /cvsroot/nagiosplug/nagiosplug/plugins/urlize.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -r1.3 -r1.4
*** urlize.c	26 Sep 2002 02:17:45 -0000	1.3
--- urlize.c	13 Nov 2002 11:50:54 -0000	1.4
***************
*** 72,78 ****
  	}
  
! 	cmd = ssprintf (cmd, "%s", argv[2]);
  	for (i = 3; i < argc; i++) {
! 		cmd = ssprintf (cmd, "%s %s", cmd, argv[i]);
  	}
  
--- 72,78 ----
  	}
  
! 	asprintf (&cmd, "%s", argv[2]);
  	for (i = 3; i < argc; i++) {
! 		asprintf (&cmd, "%s %s", cmd, argv[i]);
  	}
  

Index: utils.c
===================================================================
RCS file: /cvsroot/nagiosplug/nagiosplug/plugins/utils.c,v
retrieving revision 1.9
retrieving revision 1.10
diff -C2 -r1.9 -r1.10
*** utils.c	8 Nov 2002 07:20:05 -0000	1.9
--- utils.c	13 Nov 2002 11:50:54 -0000	1.10
***************
*** 51,55 ****
  char *strscat (char *dest, const char *src);
  char *strnl (char *str);
- char *ssprintf (char *str, const char *fmt, ...);
  char *strpcpy (char *dest, const char *src, const char *str);
  char *strpcat (char *dest, const char *src, const char *str);
--- 51,54 ----
***************
*** 489,558 ****
  		return NULL;
  	return str;
- }
- 
- 
- 
- 
- 
- /******************************************************************************
-  *
-  * Does a formatted print to a string variable
-  *
-  * Given a pointer destination string, which may or may not already
-  * hold some text, and a source string with additional text (possibly
-  * NULL or empty), returns a pointer to a string that cntains the
-  * results of the specified formatted print
-  *
-  * Example:
-  *
-  * char *str=NULL;
-  * str = ssprintf(str,"%d %s",1,"string");
-  *
-  *****************************************************************************/
- 
- char *
- ssprintf (char *ptr, const char *fmt, ...)
- {
- 	va_list ap;
- 	int nchars;
- 	size_t size;
- 	char *str = NULL;
- 
- 	if (str == NULL) {
- 		str = malloc (TXTBLK);
- 		if (str == NULL)
- 			terminate (STATE_UNKNOWN, "malloc failed in ssprintf");
- 		size = TXTBLK;
- 	}
- 	else
- 		size = max (strlen (str), TXTBLK);
- 
- 	va_start (ap, fmt);
- 
- 	while (1) {
- 
- 		nchars = vsnprintf (str, size, fmt, ap);
- 
- 		if (nchars > -1)
- 			if (nchars < (int) size) {
- 				va_end (ap);
- 				str[nchars] = '\0';
- 				if (ptr)
- 					free (ptr);
- 				return str;
- 			}
- 			else {
- 				size = (size_t) (nchars + 1);
- 			}
- 
- 		else
- 			size *= 2;
- 
- 		str = realloc (str, size);
- 
- 		if (str == NULL)
- 			terminate (STATE_UNKNOWN, "realloc failed in ssprintf");
- 	}
- 
  }
  
--- 488,491 ----





More information about the Commits mailing list