diff options
author | Ton Voon <tonvoon@users.sourceforge.net> | 2004-04-06 16:02:13 (GMT) |
---|---|---|
committer | Ton Voon <tonvoon@users.sourceforge.net> | 2004-04-06 16:02:13 (GMT) |
commit | ffa7482cb6de4e2ec2e8f99a832fc9a6425150b6 (patch) | |
tree | ab9e672600b6b1e8315bb675b6fc0bdde7d49c2c | |
parent | 72d0789bb93484f3a2c5c7e58ee1c97f71431c2e (diff) | |
download | monitoring-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.in | 5 | ||||
-rw-r--r-- | 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 | |||
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 | ||
740 | dnl Solaris 2.6 | ||
740 | elif ps -Ao 's comm vsz rss uid user ppid args' 2>/dev/null | \ | 741 | elif 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 |
742 | then | 743 | then |
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 edb33ac..402daa5 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; |