From 0b6423f9c99d9edf8c96fefd0f6c453859395aa1 Mon Sep 17 00:00:00 2001 From: Holger Weiss Date: Mon, 30 Sep 2013 00:03:24 +0200 Subject: Import Nagios Plugins site Import the Nagios Plugins web site, Cronjobs, infrastructure scripts, and configuration files. --- web/attachments/41141-check_procs.c.patch | 70 +++++++++++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 web/attachments/41141-check_procs.c.patch (limited to 'web/attachments/41141-check_procs.c.patch') diff --git a/web/attachments/41141-check_procs.c.patch b/web/attachments/41141-check_procs.c.patch new file mode 100644 index 0000000..c152d1b --- /dev/null +++ b/web/attachments/41141-check_procs.c.patch @@ -0,0 +1,70 @@ +*** check_procs.c.original Fri Jan 31 10:44:15 2003 +--- check_procs.c Fri Jan 31 10:44:27 2003 +*************** +*** 77,82 **** +--- 77,83 ---- + char *args = ""; + char *fmt = ""; + char tmp[MAX_INPUT_BUFFER]; ++ const char *zombie = "Z"; + + int + main (int argc, char **argv) +*************** +*** 93,98 **** +--- 94,100 ---- + int found = 0; /* counter for number of lines returned in `ps` output */ + int procs = 0; /* counter for number of processes meeting filter criteria */ + int pos; /* number of spaces before 'args' in `ps` output */ ++ int cols; /* number of columns in ps output */ + + int result = STATE_UNKNOWN; + +*************** +*** 115,128 **** + fgets (input_buffer, MAX_INPUT_BUFFER - 1, child_process); + + while (fgets (input_buffer, MAX_INPUT_BUFFER - 1, child_process)) { +- if ( + #ifdef USE_PS_VARS +! sscanf (input_buffer, PS_FORMAT, PS_VARLIST) >= 4 + #else +! sscanf (input_buffer, PS_FORMAT, procstat, &procuid, &procppid, &pos, +! procprog) >= 4 + #endif +! ) { + found++; + resultsum = 0; + asprintf (&procargs, "%s", input_buffer + pos); +--- 117,134 ---- + fgets (input_buffer, MAX_INPUT_BUFFER - 1, child_process); + + while (fgets (input_buffer, MAX_INPUT_BUFFER - 1, child_process)) { + #ifdef USE_PS_VARS +! cols = sscanf (input_buffer, PS_FORMAT, PS_VARLIST); + #else +! cols = sscanf (input_buffer, PS_FORMAT, procstat, &procuid, +! &procppid, &pos, procprog); + #endif +! /* Zombie processes do not give a procprog command */ +! if ( cols == 3 && strstr(procstat, zombie) ) { +! strcpy(procprog, ""); +! cols = 4; +! } +! if ( cols >= 4 ) { + found++; + resultsum = 0; + asprintf (&procargs, "%s", input_buffer + pos); +*************** +*** 147,152 **** +--- 153,162 ---- + #endif + if (options == resultsum) + procs++; ++ } ++ /* This should not happen */ ++ else if (verbose) { ++ printf("Not parseable: %s", input_buffer); + } + } + -- cgit v1.2.3-74-g34f1