summaryrefslogtreecommitdiffstats
path: root/usr.sbin
diff options
context:
space:
mode:
authorimp <imp@FreeBSD.org>2004-06-30 21:00:07 +0000
committerimp <imp@FreeBSD.org>2004-06-30 21:00:07 +0000
commita8d39b6fa7a909d3be144a231bf964501c9b4749 (patch)
treebf4ed57332833a909780a4d77e0c064a271eb7e4 /usr.sbin
parentbe82e61ec0fd872c5646a85d69c75d0c74e0905f (diff)
downloadFreeBSD-src-a8d39b6fa7a909d3be144a231bf964501c9b4749.zip
FreeBSD-src-a8d39b6fa7a909d3be144a231bf964501c9b4749.tar.gz
Fix to not use 255, but instead use APM_UNKNOWN.
Compare things correctly against -1 or 0 Don't print any capabilities if unknown is returned from the kernel. Reviewed/Submitted by: njl, Liam Foy
Diffstat (limited to 'usr.sbin')
-rw-r--r--usr.sbin/apm/apm.c18
1 files changed, 9 insertions, 9 deletions
diff --git a/usr.sbin/apm/apm.c b/usr.sbin/apm/apm.c
index e1b352a..c34772f 100644
--- a/usr.sbin/apm/apm.c
+++ b/usr.sbin/apm/apm.c
@@ -34,6 +34,8 @@ __FBSDID("$FreeBSD$");
#define APMDEV "/dev/apm"
+#define APM_UNKNOWN 255
+
#define xh(a) (((a) & 0xff00) >> 8)
#define xl(a) ((a) & 0xff)
#define APMERR(a) xh(a)
@@ -168,7 +170,7 @@ static void
print_batt_life(u_int batt_life)
{
printf("Remaining battery life: ");
- if (batt_life >= 255)
+ if (batt_life == APM_UNKNOWN)
printf("unknown\n");
else if (batt_life <= 100)
printf("%d%%\n", batt_life);
@@ -182,7 +184,7 @@ print_batt_stat(u_int batt_stat)
const char *batt_msg[] = { "high", "low", "critical", "charging" };
printf("Battery Status: ");
- if (batt_stat >= 255)
+ if (batt_stat == APM_UNKNOWN)
printf("unknown\n");
else if (batt_stat > 3)
printf("invalid value (0x%x)\n", batt_stat);
@@ -200,7 +202,7 @@ print_all_info(int fd, apm_info_t aip, int bioscall_available)
printf("APM version: %d.%d\n", aip->ai_major, aip->ai_minor);
printf("APM Management: %s\n", aip->ai_status ? "Enabled" : "Disabled");
printf("AC Line status: ");
- if (aip->ai_acline >= 255)
+ if (aip->ai_acline == APM_UNKNOWN)
printf("unknown\n");
else if (aip->ai_acline > 1)
printf("invalid value (0x%x)\n", aip->ai_acline);
@@ -213,7 +215,7 @@ print_all_info(int fd, apm_info_t aip, int bioscall_available)
if (aip->ai_infoversion >= 1) {
printf("Number of batteries: ");
- if (aip->ai_batteries >= 255)
+ if (aip->ai_batteries == ~0U)
printf("unknown\n");
else {
u_int i;
@@ -226,12 +228,10 @@ print_all_info(int fd, apm_info_t aip, int bioscall_available)
if (ioctl(fd, APMIO_GETPWSTATUS, &aps) == -1)
continue;
printf("Battery %d:\n", i);
- if (aps.ap_batt_flag <= 255 &&
- (aps.ap_batt_flag & APM_BATT_NOT_PRESENT)) {
+ if (aps.ap_batt_flag & APM_BATT_NOT_PRESENT) {
printf("not present\n");
continue;
}
-
printf("\t");
print_batt_stat(aps.ap_batt_stat);
printf("\t");
@@ -306,9 +306,9 @@ print_all_info(int fd, apm_info_t aip, int bioscall_available)
}
if (aip->ai_infoversion >= 1) {
- printf("APM Capabilities:\n");
if (aip->ai_capabilities == 0xff00)
- printf("\tunknown\n");
+ return;
+ printf("APM Capabilities:\n");
if (aip->ai_capabilities & 0x01)
printf("\tglobal standby state\n");
if (aip->ai_capabilities & 0x02)
OpenPOWER on IntegriCloud