Code

check_snmp now considers strings returned by SNMP that contain just
[nagiosplug.git] / plugins / check_snmp.c
index f32a26ebeaed628f4f1b682f022945832f249176..9d9194225b4ee8d5f9facffc3e022e7ff198e741 100644 (file)
@@ -160,6 +160,7 @@ main (int argc, char **argv)
        char *outbuff;
        char *ptr = NULL;
        char *show = NULL;
+       char *endptr = NULL;
        char *th_warn=NULL;
        char *th_crit=NULL;
        char type[8] = "";
@@ -395,6 +396,19 @@ main (int argc, char **argv)
                                }
                        }
 
+                       /* 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: ");