diff --git a/plugins/check_snmp.c b/plugins/check_snmp.c
index e6707a0851567ceb5df167546574ddd385aa065e..9d9194225b4ee8d5f9facffc3e022e7ff198e741 100644 (file)
--- a/plugins/check_snmp.c
+++ b/plugins/check_snmp.c
char *outbuff;
char *ptr = NULL;
char *show = NULL;
+ char *endptr = NULL;
char *th_warn=NULL;
char *th_crit=NULL;
char type[8] = "";
}
}
+ /* Allow numeric conversion if whole string is a number. Make concession for strings with " at beginning or end */
+ /* This duplicates the conversion a bit later, but is cleaner to separate out the checking against the conversion */
+ ptr = show;
+ if (*ptr == '"')
+ ptr++;
+ if (*ptr != '\0' ) {
+ strtod( ptr, &endptr );
+ if (*endptr == '"')
+ endptr++;
+ if (*endptr == '\0')
+ is_numeric=1;
+ }
+
}
else if (strstr (response, "Timeticks: "))
show = strstr (response, "Timeticks: ");
temp_double+=(double)18446744069414584320.0; /* 2^64-2^32 */;
}
/* Convert to per second, then use multiplier */
- temp_double = temp_double/(duration*rate_multiplier);
+ temp_double = temp_double/duration*rate_multiplier;
iresult = get_status(temp_double, thlds[i]);
asprintf (&show, conv, temp_double);
}
printf ("\n");
printf ("%s\n", _("Notes:"));
- printf (" %s\n", _("- Multiple OIDs may be indicated by a comma- or space-delimited list (lists with"));
- printf (" %s\n", _("internal spaces must be quoted) [max 8 OIDs]"));
+ printf (" %s\n", _("- Multiple OIDs may be indicated by a comma or space-delimited list (lists with"));
+ printf (" %s %i %s\n", _("internal spaces must be quoted). Maximum:"), MAX_OIDS, _("OIDs."));
printf(" -%s", UT_THRESHOLDS_NOTES);