From 5c0aa37260519e37feac734d52c1b9b63090d77f Mon Sep 17 00:00:00 2001 From: Ton Voon Date: Mon, 13 Mar 2006 11:08:28 +0000 Subject: Change warning message if there is stderr output. This catches a problem where time was shifting backwards on a linux VMware guest during the ping git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@1322 f882894a-f735-0410-b71e-b25c423dba1c --- plugins/check_ping.c | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/plugins/check_ping.c b/plugins/check_ping.c index 1903678d..a7b7d902 100644 --- a/plugins/check_ping.c +++ b/plugins/check_ping.c @@ -452,9 +452,22 @@ run_ping (const char *cmd, const char *addr) rta = crta; /* check stderr, setting at least WARNING if there is output here */ - while (fgets (buf, MAX_INPUT_BUFFER - 1, child_stderr)) - if (! strstr(buf,"WARNING - no SO_TIMESTAMP support, falling back to SIOCGSTAMP")) - result = max_state (STATE_WARNING, error_scan (buf, addr)); + /* Add warning into warn_text */ + while (fgets (buf, MAX_INPUT_BUFFER - 1, child_stderr)) { + if (! strstr(buf,"WARNING - no SO_TIMESTAMP support, falling back to SIOCGSTAMP")) { + if (verbose >= 3) { + printf("Got stderr: %s", buf); + } + if ((result=error_scan(buf, addr)) == STATE_OK) { + result = STATE_WARNING; + if (warn_text == NULL) { + warn_text = strdup(_("System call sent warnings to stderr ")); + } else { + asprintf(&warn_text, "%s %s", warn_text, _("System call sent warnings to stderr ")); + } + } + } + } (void) fclose (child_stderr); -- cgit v1.2.3