From ffa7482cb6de4e2ec2e8f99a832fc9a6425150b6 Mon Sep 17 00:00:00 2001 From: Ton Voon Date: Tue, 6 Apr 2004 16:02:13 +0000 Subject: [PATCH] Fixed weird scanf bug on Solaris git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@864 f882894a-f735-0410-b71e-b25c423dba1c --- configure.in | 5 ++++- plugins/check_procs.c | 4 ---- 2 files changed, 4 insertions(+), 5 deletions(-) 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; -- 2.30.2