[Nagiosplug-checkins] nagiosplug/plugins Makefile.am,1.51,1.52 check_swap.c,1.48,1.49

M. Sean Finney seanius at users.sourceforge.net
Mon Jun 27 17:30:14 CEST 2005


Update of /cvsroot/nagiosplug/nagiosplug/plugins
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23964/plugins

Modified Files:
	Makefile.am check_swap.c 
Log Message:
scanf parsing fix for check_swap from tracker id 1123292.  now use floor(3)
to round down floating point numbers.  requires -lm on many systems,
so support for testing for this was added to the configure.in and
automake template


Index: Makefile.am
===================================================================
RCS file: /cvsroot/nagiosplug/nagiosplug/plugins/Makefile.am,v
retrieving revision 1.51
retrieving revision 1.52
diff -u -d -r1.51 -r1.52
--- Makefile.am	11 Feb 2005 11:49:51 -0000	1.51
+++ Makefile.am	28 Jun 2005 00:26:53 -0000	1.52
@@ -9,6 +9,7 @@
 localedir = $(datadir)/locale
 DEFS = -DLOCALEDIR=\"$(localedir)\" @DEFS@
 LIBS = @LIBINTL@ @LIBS@ @SSLINCLUDE@
+MATHLIBS = @MATHLIBS@
 
 libexec_PROGRAMS = check_dhcp check_disk check_dummy check_http check_load \
 	check_mrtg check_mrtgtraf check_nwstat check_overcr check_ping \
@@ -72,7 +73,7 @@
 check_snmp_LDADD = $(BASEOBJS) popen.o
 check_smtp_LDADD = $(NETLIBS) $(SSLLIBS)
 check_ssh_LDADD = $(NETLIBS)
-check_swap_LDADD = $(BASEOBJS) popen.o
+check_swap_LDADD = $(MATHLIBS) $(BASEOBJS) popen.o
 check_tcp_LDADD = $(NETLIBS) $(SSLLIBS)
 check_time_LDADD = $(NETLIBS)
 check_udp_LDADD = $(NETLIBS)

Index: check_swap.c
===================================================================
RCS file: /cvsroot/nagiosplug/nagiosplug/plugins/check_swap.c,v
retrieving revision 1.48
retrieving revision 1.49
diff -u -d -r1.48 -r1.49
--- check_swap.c	26 Jun 2005 01:23:47 -0000	1.48
+++ check_swap.c	28 Jun 2005 00:26:53 -0000	1.49
@@ -42,8 +42,8 @@
 
 int warn_percent = 0;
 int crit_percent = 0;
-float warn_size = 0;
-float crit_size = 0;
+double warn_size = 0;
+double crit_size = 0;
 int verbose;
 int allswaps;
 
@@ -376,12 +376,13 @@
 		switch (c) {
 		case 'w':									/* warning size threshold */
 			if (is_intnonneg (optarg)) {
-				warn_size = (float) atoi (optarg);
+				warn_size = (double) atoi (optarg);
 				break;
 			}
 			else if (strstr (optarg, ",") &&
 							 strstr (optarg, "%") &&
-							 sscanf (optarg, "%.0f,%d%%", &warn_size, &warn_percent) == 2) {
+							 sscanf (optarg, "%g,%d%%", &warn_size, &warn_percent) == 2) {
+				warn_size = floor(warn_size);
 				break;
 			}
 			else if (strstr (optarg, "%") &&
@@ -393,12 +394,13 @@
 			}
 		case 'c':									/* critical size threshold */
 			if (is_intnonneg (optarg)) {
-				crit_size = (float) atoi (optarg);
+				crit_size = (double) atoi (optarg);
 				break;
 			}
 			else if (strstr (optarg, ",") &&
 							 strstr (optarg, "%") &&
-							 sscanf (optarg, "%.0f,%d%%", &crit_size, &crit_percent) == 2) {
+							 sscanf (optarg, "%g,%d%%", &crit_size, &crit_percent) == 2) {
+				crit_size = floor(crit_size);
 				break;
 			}
 			else if (strstr (optarg, "%") &&
@@ -439,12 +441,12 @@
 	if (c == argc)
 		return validate_arguments ();
 	if (warn_size == 0 && is_intnonneg (argv[c]))
-		warn_size = (float) atoi (argv[c++]);
+		warn_size = (double) atoi (argv[c++]);
 
 	if (c == argc)
 		return validate_arguments ();
 	if (crit_size == 0 && is_intnonneg (argv[c]))
-		crit_size = atoi (argv[c++]);
+		crit_size = (double) atoi (argv[c++]);
 
 	return validate_arguments ();
 }





More information about the Commits mailing list