rem: if (size>0) (*running)++; else        (*r_swapp)++;
add: (*running)++;
context: static void getrunners(unsigned int *running, unsigned int *blocked, 		unsigned int *r_swapp, unsigned int *d_swapp) {  static struct direct *ent;  DIR *proc;  *running=0;  *blocked=0;  *r_swapp=0;  *d_swapp=0;  if((proc=opendir("/proc"))==NULL) crash("/proc");  while(( ent=readdir(proc) )) {    unsigned size;    int fd;    char filename[80];    char c;    if (!isdigit(ent->d_name[0])) continue;    sprintf(filename, "/proc/%s/stat", ent->d_name);    fd = open(filename, O_RDONLY, 0);    if (fd == -1) continue;    read(fd,buff,BUFFSIZE-1);    sscanf(      buff,      "%*d %*s %c "      "%*d %*d %*d %*d %*d %*u %*u"      " %*u %*u %*u %*d %*d %*d %*d %*d %*d %*u %*u %*d %*u %u"      /*  " %*u %*u %*u %*u %*u %*u %*u %*u %*u %*u %*u\n"  */ ,      &c,      &size    );    close(fd);    if (c=='R') {      if (size>0) (*running)++;      else        (*r_swapp)++; // supposedly swapped      continue;    }    if (c=='D') {      if (size>0) (*blocked)++;      else        (*d_swapp)++; // supposedly swapped      continue;    }  }  closedir(proc);#if 1  /* is this next line a good idea?  It removes this thing which     uses (hopefully) little time, from the count of running processes */  (*running)--;#endif}