diff --git a/plugins/check_snmp.c b/plugins/check_snmp.c index 2d9861bc..0ddfb942 100644 --- a/plugins/check_snmp.c +++ b/plugins/check_snmp.c @@ -144,6 +144,25 @@ double previous_value[MAX_OIDS]; int perf_labels = 1; +static char *fix_snmp_range(char *th) +{ + double left, right; + char *colon, *ret; + if (!(colon = strchr(th, ':'))) + return th; + *colon = 0; + + left = strtod(th, NULL); + right = strtod(colon + 1, NULL); + if (right >= left) { + return th; + } + ret = malloc(strlen(th) + strlen(colon + 1) + 2); + sprintf(ret, "@%s:%s", colon + 1, th); + free(th); + return ret; +} + int main (int argc, char **argv) { @@ -228,6 +247,10 @@ main (int argc, char **argv) for (i=0; i