summaryrefslogtreecommitdiffstats
path: root/web/attachments/311556-patch-nagios-plugins-1.4.12
blob: 49a3d6fbb65a3277351ed415ad959caa98330a96 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
--- check_smtp.orig	2009-01-19 10:57:05.000000000 +0100
+++ check_smtp.c	2009-01-19 11:34:04.000000000 +0100
@@ -103,9 +103,9 @@
 char *authtype = NULL;
 char *authuser = NULL;
 char *authpass = NULL;
-int warning_time = 0;
+double warning_time = 0;
 int check_warning_time = FALSE;
-int critical_time = 0;
+double critical_time = 0;
 int check_critical_time = FALSE;
 int verbose = 0;
 int use_ssl = FALSE;
@@ -432,9 +432,9 @@
 	elapsed_time = (double)microsec / 1.0e6;
 
 	if (result == STATE_OK) {
-		if (check_critical_time && elapsed_time > (double) critical_time)
+		if (check_critical_time && elapsed_time > critical_time)
 			result = STATE_CRITICAL;
-		else if (check_warning_time && elapsed_time > (double) warning_time)
+		else if (check_warning_time && elapsed_time > warning_time)
 			result = STATE_WARNING;
 	}
 
@@ -565,21 +565,19 @@
 			nresponses++;
 			break;
 		case 'c':									/* critical time threshold */
-			if (is_intnonneg (optarg)) {
-				critical_time = atoi (optarg);
-				check_critical_time = TRUE;
-			}
+			if (!is_nonnegative (optarg))
+				usage4 (_("Critical time must be a positive"));
 			else {
-				usage4 (_("Critical time must be a positive integer"));
+				critical_time = strtod (optarg, NULL);
+				check_critical_time = TRUE;
 			}
 			break;
 		case 'w':									/* warning time threshold */
-			if (is_intnonneg (optarg)) {
-				warning_time = atoi (optarg);
-				check_warning_time = TRUE;
-			}
+			if (!is_nonnegative (optarg))
+				usage4 (_("Warning time must be a positive"));
 			else {
-				usage4 (_("Warning time must be a positive integer"));
+				warning_time = strtod (optarg, NULL);
+				check_warning_time = TRUE;
 			}
 			break;
 		case 'v':									/* verbose */