summaryrefslogtreecommitdiffstats
path: root/plugins/check_snmp.c
diff options
context:
space:
mode:
authornagios <nagios@opsviewdev32.(none)>2010-11-15 15:43:41 (GMT)
committernagios <nagios@opsviewdev32.(none)>2010-11-15 15:43:41 (GMT)
commit896962a1ad1b7d7c75d42c565b06cc799feb0a7c (patch)
tree12723ac6ebc1f99109a03a938602a4719a0622e5 /plugins/check_snmp.c
parente7ac2e68c9524ffed4046559fef0b545785e64a0 (diff)
downloadmonitoring-plugins-896962a1ad1b7d7c75d42c565b06cc799feb0a7c.tar.gz
check_snmp now considers strings returned by SNMP that contain just
numbers (according to strtod) to be a numeric value for threshold and performance data
Diffstat (limited to 'plugins/check_snmp.c')
-rw-r--r--plugins/check_snmp.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/plugins/check_snmp.c b/plugins/check_snmp.c
index f32a26e..9d91942 100644
--- a/plugins/check_snmp.c
+++ b/plugins/check_snmp.c
@@ -160,6 +160,7 @@ main (int argc, char **argv)
160 char *outbuff; 160 char *outbuff;
161 char *ptr = NULL; 161 char *ptr = NULL;
162 char *show = NULL; 162 char *show = NULL;
163 char *endptr = NULL;
163 char *th_warn=NULL; 164 char *th_warn=NULL;
164 char *th_crit=NULL; 165 char *th_crit=NULL;
165 char type[8] = ""; 166 char type[8] = "";
@@ -395,6 +396,19 @@ main (int argc, char **argv)
395 } 396 }
396 } 397 }
397 398
399 /* Allow numeric conversion if whole string is a number. Make concession for strings with " at beginning or end */
400 /* This duplicates the conversion a bit later, but is cleaner to separate out the checking against the conversion */
401 ptr = show;
402 if (*ptr == '"')
403 ptr++;
404 if (*ptr != '\0' ) {
405 strtod( ptr, &endptr );
406 if (*endptr == '"')
407 endptr++;
408 if (*endptr == '\0')
409 is_numeric=1;
410 }
411
398 } 412 }
399 else if (strstr (response, "Timeticks: ")) 413 else if (strstr (response, "Timeticks: "))
400 show = strstr (response, "Timeticks: "); 414 show = strstr (response, "Timeticks: ");