Fixed SF.net bug 2555775, threshold can be double for check_smtp

Thanks to Roman Fiedler for reporting the issue and providing a fix
This commit is contained in:
Jan Wagner 2013-07-11 14:11:09 +02:00 committed by Holger Weiss
parent bfe68d84f7
commit b6f0e755fd
2 changed files with 13 additions and 14 deletions

View file

@ -281,3 +281,4 @@ Brian De Wolf
Richard Leitner
Diego Elio Pettenò
Vaclav Ovsik
Roman Fiedler

View file

@ -99,9 +99,9 @@ char **responses = NULL;
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;
@ -417,9 +417,9 @@ main (int argc, char **argv)
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;
}
@ -552,21 +552,19 @@ process_arguments (int argc, char **argv)
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 */