From 5c0aa37260519e37feac734d52c1b9b63090d77f Mon Sep 17 00:00:00 2001
From: Ton Voon <tonvoon@users.sourceforge.net>
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

diff --git a/plugins/check_ping.c b/plugins/check_ping.c
index 1903678..a7b7d90 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 v0.10-9-g596f

