X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=plugins%2Fcheck_snmp.c;h=b943379d4770bbc67d220ec258c9d6019f5abd9f;hb=831d03cd768cb4d1f96d3cabd6262a0a55f904e7;hp=b0059845358cbd19755a208462e16828759aadf9;hpb=0c3386274ef5002dffc20337ef02407f24d7400c;p=nagiosplug.git diff --git a/plugins/check_snmp.c b/plugins/check_snmp.c index b005984..b943379 100644 --- a/plugins/check_snmp.c +++ b/plugins/check_snmp.c @@ -297,8 +297,12 @@ main (int argc, char **argv) show = strstr (response, "Gauge: ") + 7; else if (strstr (response, "Gauge32: ")) show = strstr (response, "Gauge32: ") + 9; + else if (strstr (response, "Counter32: ")) + show = strstr (response, "Counter32: ") + 11; else if (strstr (response, "INTEGER: ")) show = strstr (response, "INTEGER: ") + 9; + else if (strstr (response, "STRING: ")) + show = strstr (response, "STRING: ") + 8; else show = response; p2 = show; @@ -319,6 +323,8 @@ main (int argc, char **argv) eval_method[i] & WARN_EQ || eval_method[i] & WARN_NE) { p2 = strpbrk (p2, "0123456789"); + if (p2 == NULL) + terminate (STATE_UNKNOWN,"No valid data returned"); response_value[i] = strtoul (p2, NULL, 10); iresult = check_num (i); asprintf (&show, "%lu", response_value[i]); @@ -416,7 +422,6 @@ process_arguments (int argc, char **argv) int c = 1; int j = 0, jj = 0, ii = 0; -#ifdef HAVE_GETOPT_H int option_index = 0; static struct option long_options[] = { STD_LONG_OPTS, @@ -441,7 +446,6 @@ process_arguments (int argc, char **argv) {"privpasswd", required_argument, 0, 'X'}, {0, 0, 0, 0} }; -#endif if (argc < 2) return ERROR; @@ -457,13 +461,8 @@ process_arguments (int argc, char **argv) } while (1) { -#ifdef HAVE_GETOPT_H - c = - getopt_long (argc, argv, "hvVt:c:w:H:C:o:e:E:d:D:s:R:r:l:u:p:m:P:L:U:a:A:X:", + c = getopt_long (argc, argv, "hvVt:c:w:H:C:o:e:E:d:D:s:R:r:l:u:p:m:P:L:U:a:A:X:", long_options, &option_index); -#else - c = getopt (argc, argv, "hvVt:c:w:H:C:o:e:E:d:D:s:R:r:l:u:p:m:P:L:U:a:A:X:"); -#endif if (c == -1 || c == EOF) break;