diff options
| -rw-r--r-- | wmiistatus.c | 10 | 
1 files changed, 9 insertions, 1 deletions
| diff --git a/wmiistatus.c b/wmiistatus.c index cba4d8b..e1b8097 100644 --- a/wmiistatus.c +++ b/wmiistatus.c @@ -307,7 +307,10 @@ static char *get_battery_info() {  			last = walk+1;  	(void)close(fd); -	if ((full_design != -1) && (remaining != -1) && (present_rate > 0)) { +	if ((full_design != 1) && (remaining != -1)) +		return part; + +	if (present_rate > 0) {  		float remaining_time;  		int seconds, hours, minutes;  		if (status == CS_CHARGING) @@ -327,6 +330,11 @@ static char *get_battery_info() {  			 (status == CS_DISCHARGING ? "BAT" : "FULL")),  			(((float)remaining / (float)full_design) * 100),  			hours, minutes, seconds); +	} else { +		(void)snprintf(part, sizeof(part), "%s %.02f%%", +			(status == CS_CHARGING ? "CHR" : +			 (status == CS_DISCHARGING ? "BAT" : "FULL")), +			(((float)remaining / (float)full_design) * 100));  	}  	return part;  } | 
