diff options
| -rw-r--r-- | wmiistatus.c | 12 | 
1 files changed, 7 insertions, 5 deletions
| diff --git a/wmiistatus.c b/wmiistatus.c index 5c66302..13f9e85 100644 --- a/wmiistatus.c +++ b/wmiistatus.c @@ -390,14 +390,14 @@ static char *get_eth_info() {  }  /* - * Checks if the PID in path is still valid by checking if /proc/<pid> exists + * Checks if the PID in path is still valid by checking: + *  (Linux) if /proc/<pid> exists + *  (NetBSD) if sysctl returns process infos for this pid   *   */  static bool process_runs(const char *path) { -	char pidbuf[512], -	     procbuf[512]; +	char pidbuf[16];  	static glob_t globbuf; -	struct stat statbuf;  	int fd;  	memset(pidbuf, 0, sizeof(pidbuf)); @@ -411,6 +411,8 @@ static bool process_runs(const char *path) {  	(void)close(fd);  #ifdef LINUX +	struct stat statbuf; +	char procbuf[512];  	(void)snprintf(procbuf, sizeof(procbuf), "/proc/%ld", strtol(pidbuf, NULL, 10));  	return (stat(procbuf, &statbuf) >= 0);  #else @@ -428,7 +430,6 @@ int main(int argc, char *argv[]) {  	char part[512],  	     pathbuf[512];  	unsigned int i; -	int load_avg;  	char *configfile = PREFIX "/etc/wmiistatus.conf";  	int o, option_index = 0; @@ -479,6 +480,7 @@ int main(int argc, char *argv[]) {  		/* Get load */  #ifdef LINUX +		int load_avg;  		if ((load_avg = open("/proc/loadavg", O_RDONLY)) == -1)  			die("Could not open /proc/loadavg\n");  		(void)read(load_avg, part, sizeof(part)); | 
