ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/i-scream/projects/cms/source/host/ihost-perl/plugins/linux/linux.c
(Generate patch)

Comparing projects/cms/source/host/ihost-perl/plugins/linux/linux.c (file contents):
Revision 1.5 by pajs, Mon Mar 11 13:42:40 2002 UTC vs.
Revision 1.7 by pajs, Tue Mar 19 10:38:05 2002 UTC

# Line 50 | Line 50 | void getLoadAv() {
50  
51   void getMemInfo() {
52      char *line;
53 <    char *mem;
54 <    char *swap;
53 >    char *mem=NULL;
54 >    char *swap=NULL;
55      char *ch;
56      long memstat[6];
57      long swapstat[3];
# Line 80 | Line 80 | void getMemInfo() {
80          errf("Failed to close file (%m).");
81          die();
82      }
83 <    
83 >  
84 >    if (mem==NULL || swap==NULL){
85 >        errf("Failed to obtain information required for memory and swap stats");
86 >        die();
87 >    }
88 >
89      /* Get the info we want from the 2 read in lines */
90      
91      ch = strchr(mem, ' ');
# Line 227 | Line 232 | void cpustats() {
232   }
233  
234   void processStats() {
235 <    int sleeping=0;
235 >    int sleeping=-1;
236      int zombie=0;
237      int stopped=0;
238      int running=0;
# Line 244 | Line 249 | void processStats() {
249      }
250      
251      while((line=fpgetline(f)) != NULL) {
252 <        line_p=strchr(line, ' ');
253 <        line_p++;
254 <        if (line_p==NULL) abort();
255 <        /* Ok, we should now be at the state :) .. */
256 <        if (*line_p=='S') sleeping++;
257 <        if (*line_p=='R') running++;
258 <        if (*line_p=='Z') zombie++;
259 <        if (*line_p=='T') stopped++;
252 >
253 >      line_p=line;
254 >      for(; (*line_p == ' ') && (*line_p != '\0'); line_p++);
255 >      line_p=strchr(line_p, ' ');
256 >      for(; (*line_p == ' ') && (*line_p != '\0'); line_p++);
257 >      if (line_p==NULL) abort();
258 >      /* Ok, we should now be at the state :) .. */
259 >      if (*line_p=='S') sleeping++;
260 >      if (*line_p=='R') running++;
261 >      if (*line_p=='Z') zombie++;
262 >      if (*line_p=='T') stopped++;
263      }
264      
265      if((pclose(f)) == -1) {

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines