From ffa7482cb6de4e2ec2e8f99a832fc9a6425150b6 Mon Sep 17 00:00:00 2001
From: Ton Voon <tonvoon@users.sourceforge.net>
Date: Tue, 6 Apr 2004 16:02:13 +0000
Subject: Fixed weird scanf bug on Solaris

git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@864 f882894a-f735-0410-b71e-b25c423dba1c

diff --git a/configure.in b/configure.in
index f6c33dc..3173d6d 100644
--- a/configure.in
+++ b/configure.in
@@ -737,12 +737,15 @@ then
 	ac_cv_ps_cols=7
 	AC_MSG_RESULT([$ac_cv_ps_command - with no RSS])
 
+dnl Solaris 2.6
 elif ps -Ao 's comm vsz rss uid user ppid args' 2>/dev/null | \
 	egrep -i ["^S[TAUES]* +C[OMDNA]+ +V[SIZE]+ +RSS +UID +USER +PPID +[RGSCOMDNA]+"] >/dev/null
 then
 	ac_cv_ps_varlist="[procstat,&procuid,&procppid,&procvsz,&procrss,&procpcpu,procprog,&pos]"
 	ac_cv_ps_command="$PATH_TO_PS -Ao 's uid ppid vsz rss pcpu comm args'"
-	ac_cv_ps_format="%s %d %d %d %d %f %s %n"
+	# There must be no space between the %s and %n due to a wierd problem in sscanf where
+	# it will return %n as longer than the line length
+	ac_cv_ps_format="%s %d %d %d %d %f %s%n"
 	ac_cv_ps_cols=8
 	AC_MSG_RESULT([$ac_cv_ps_command])
 
diff --git a/plugins/check_procs.c b/plugins/check_procs.c
index edb33ac..402daa5 100644
--- a/plugins/check_procs.c
+++ b/plugins/check_procs.c
@@ -155,10 +155,6 @@ main (int argc, char **argv)
 		/* Zombie processes do not give a procprog command */
 		if ( cols == (expected_cols - 1) && strstr(procstat, zombie) ) {
 			cols = expected_cols;
-			/* Set some value for procargs for the strip command further below 
-			Seen to be a problem on some Solaris 7 and 8 systems */
-			input_buffer[pos] = '\n';
-			input_buffer[pos+1] = 0x0;
 		}
 		if ( cols >= expected_cols ) {
 			resultsum = 0;
-- 
cgit v0.10-9-g596f

