diff options
Diffstat (limited to 'x11-wm/icewm/files/patch-ak')
-rw-r--r-- | x11-wm/icewm/files/patch-ak | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/x11-wm/icewm/files/patch-ak b/x11-wm/icewm/files/patch-ak new file mode 100644 index 00000000000..e134d02129f --- /dev/null +++ b/x11-wm/icewm/files/patch-ak @@ -0,0 +1,73 @@ +--- src/aapm.cc.orig Mon Nov 8 20:45:52 1999 ++++ src/aapm.cc Wed Dec 1 16:42:31 1999 +@@ -20,15 +20,32 @@ + #include <string.h> + #include <stdio.h> + ++#ifdef __FreeBSD__ ++#include <sys/file.h> ++#include <sys/ioctl.h> ++#include <sys/types.h> ++#include <machine/apm_bios.h> ++#endif ++ + #ifdef CONFIG_APM + + YColor *YApm::apmBg = 0; + YColor *YApm::apmFg = 0; + YFont *YApm::apmFont = 0; + ++#ifdef __FreeBSD__ ++#define APMDEV "/dev/apm" ++#else ++#define APMDEV "/proc/apm" ++#endif ++ + void ApmStr(char *s, bool Tool) { ++#ifdef __FreeBSD__ ++ struct apm_info ai; ++#else + char buf[45]; +- int len, i, fd = open("/proc/apm", O_RDONLY); ++#endif ++ int len, i, fd = open(APMDEV, O_RDONLY); + char driver[16]; + char apmver[16]; + int apmflags; +@@ -40,9 +57,27 @@ + char units[16]; + + if (fd == -1) { ++ static int error = 0; ++ if (!error) ++ perror("Can't open the apm device"); ++ error = 1; + return ; + } +- ++#ifdef __FreeBSD__ ++ if (ioctl(fd,APMIO_GETINFO, &ai) == -1) ++ { ++ static int error = 0; ++ if (!error) ++ perror("Can't ioctl the apm device"); ++ error = 1; ++ close(fd); ++ return; ++ } ++ close(fd); ++ BATlife = ai.ai_batt_life; ++ ACstatus = ai.ai_acline ; ++ BATflag = ai.ai_batt_stat == 3 ? 8 : 0; ++#else + len = read(fd, buf, sizeof(buf) - 1); + close(fd); + +@@ -60,6 +95,7 @@ + } + return ; + } ++#endif + if (BATlife == -1) + BATlife = 0; + |