summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTon Voon <tonvoon@users.sourceforge.net>2004-04-06 16:02:13 +0000
committerTon Voon <tonvoon@users.sourceforge.net>2004-04-06 16:02:13 +0000
commitffa7482cb6de4e2ec2e8f99a832fc9a6425150b6 (patch)
treeab9e672600b6b1e8315bb675b6fc0bdde7d49c2c
parent72d0789bb93484f3a2c5c7e58ee1c97f71431c2e (diff)
downloadmonitoring-plugins-ffa7482cb6de4e2ec2e8f99a832fc9a6425150b6.tar.gz
Fixed weird scanf bug on Solaris
git-svn-id: https://nagiosplug.svn.sourceforge.net/svnroot/nagiosplug/nagiosplug/trunk@864 f882894a-f735-0410-b71e-b25c423dba1c
-rw-r--r--configure.in5
-rw-r--r--plugins/check_procs.c4
2 files changed, 4 insertions, 5 deletions
diff --git a/configure.in b/configure.in
index f6c33dc6..3173d6d4 100644
--- a/configure.in
+++ b/configure.in
@@ -737,12 +737,15 @@ then
737 ac_cv_ps_cols=7 737 ac_cv_ps_cols=7
738 AC_MSG_RESULT([$ac_cv_ps_command - with no RSS]) 738 AC_MSG_RESULT([$ac_cv_ps_command - with no RSS])
739 739
740dnl Solaris 2.6
740elif ps -Ao 's comm vsz rss uid user ppid args' 2>/dev/null | \ 741elif ps -Ao 's comm vsz rss uid user ppid args' 2>/dev/null | \
741 egrep -i ["^S[TAUES]* +C[OMDNA]+ +V[SIZE]+ +RSS +UID +USER +PPID +[RGSCOMDNA]+"] >/dev/null 742 egrep -i ["^S[TAUES]* +C[OMDNA]+ +V[SIZE]+ +RSS +UID +USER +PPID +[RGSCOMDNA]+"] >/dev/null
742then 743then
743 ac_cv_ps_varlist="[procstat,&procuid,&procppid,&procvsz,&procrss,&procpcpu,procprog,&pos]" 744 ac_cv_ps_varlist="[procstat,&procuid,&procppid,&procvsz,&procrss,&procpcpu,procprog,&pos]"
744 ac_cv_ps_command="$PATH_TO_PS -Ao 's uid ppid vsz rss pcpu comm args'" 745 ac_cv_ps_command="$PATH_TO_PS -Ao 's uid ppid vsz rss pcpu comm args'"
745 ac_cv_ps_format="%s %d %d %d %d %f %s %n" 746 # There must be no space between the %s and %n due to a wierd problem in sscanf where
747 # it will return %n as longer than the line length
748 ac_cv_ps_format="%s %d %d %d %d %f %s%n"
746 ac_cv_ps_cols=8 749 ac_cv_ps_cols=8
747 AC_MSG_RESULT([$ac_cv_ps_command]) 750 AC_MSG_RESULT([$ac_cv_ps_command])
748 751
diff --git a/plugins/check_procs.c b/plugins/check_procs.c
index edb33aca..402daa53 100644
--- a/plugins/check_procs.c
+++ b/plugins/check_procs.c
@@ -155,10 +155,6 @@ main (int argc, char **argv)
155 /* Zombie processes do not give a procprog command */ 155 /* Zombie processes do not give a procprog command */
156 if ( cols == (expected_cols - 1) && strstr(procstat, zombie) ) { 156 if ( cols == (expected_cols - 1) && strstr(procstat, zombie) ) {
157 cols = expected_cols; 157 cols = expected_cols;
158 /* Set some value for procargs for the strip command further below
159 Seen to be a problem on some Solaris 7 and 8 systems */
160 input_buffer[pos] = '\n';
161 input_buffer[pos+1] = 0x0;
162 } 158 }
163 if ( cols >= expected_cols ) { 159 if ( cols >= expected_cols ) {
164 resultsum = 0; 160 resultsum = 0;