diff -ur xfce4-battery-plugin-0.5.0.orig/panel-plugin/libacpi.c xfce4-battery-plugin-0.5.0/panel-plugin/libacpi.c --- xfce4-battery-plugin-0.5.0.orig/panel-plugin/libacpi.c 2007-01-17 19:56:51.000000000 +0200 +++ xfce4-battery-plugin-0.5.0/panel-plugin/libacpi.c 2007-02-09 16:34:40.000000000 +0200 @@ -30,6 +30,7 @@ #include #include #include +#include #if HAVE_SYSCTL @@ -181,6 +182,22 @@ #endif #endif +/* expand file name and fopen first match */ +static FILE * +fopen_glob(const char *name, const char *mode) +{ + glob_t globbuf; + FILE *fd; + + if (glob(name, 0, NULL, &globbuf) != 0) + return NULL; + + fd = fopen(globbuf.gl_pathv[0], mode); + globfree(&globbuf); + + return fd; +} + /* see if we have ACPI support */ int check_acpi(void) { @@ -693,7 +710,7 @@ else return 0; } proc_fan_status="/proc/acpi/fan/*/state"; - if ( (fp=fopen(proc_fan_status, "r")) == NULL ) return 0; + if ( (fp=fopen_glob(proc_fan_status, "r")) == NULL ) return 0; fgets(line,255,fp); fclose(fp); @@ -706,10 +723,10 @@ { #ifdef __linux__ FILE *fp; - char *proc_temperature="/proc/acpi/thermal_zone/*0/temperature"; + char *proc_temperature="/proc/acpi/thermal_zone/*/temperature"; static char *p,line[256]; - if ( (fp=fopen(proc_temperature, "r")) == NULL) return NULL; + if ( (fp=fopen_glob(proc_temperature, "r")) == NULL) return NULL; fgets(line,255,fp); fclose(fp); p=strtok(line," "); diff -Nru xfce4-battery-plugin-0.5.0-old/panel-plugin/libacpi.c xfce4-battery-plugin-0.5.0/panel-plugin/libacpi.c --- xfce4-battery-plugin-0.5.0-old/panel-plugin/libacpi.c 2007-04-29 15:08:23.670477251 +0000 +++ xfce4-battery-plugin-0.5.0/panel-plugin/libacpi.c 2007-04-29 15:17:23.213224040 +0000 @@ -207,10 +207,10 @@ #ifdef __linux__ FILE *acpi; - if (!(acpi = fopen ("/proc/acpi/info", "r"))) + if ( (!(acpi = fopen ("/proc/acpi/info", "r"))) && (!(acpi = fopen ("/sys/module/acpi/parameters/acpica_version", "r"))) ) { #ifdef DEBUG - printf("DBG:no acpi: /proc/acpi/info not found!\n"); + printf("DBG:no acpi: /proc/acpi/info and /sys/module/acpi/parameters/acpica_version not found!\n"); #endif return 1; } diff -Nru xfce4-battery-plugin-0.5.0-old/panel-plugin/libacpi.h xfce4-battery-plugin-0.5.0/panel-plugin/libacpi.h --- xfce4-battery-plugin-0.5.0-old/panel-plugin/libapm.h 2008-03-18 20:10:58.000000000 +0100 +++ xfce4-battery-plugin-0.5.0/panel-plugin/libapm.h 2008-03-18 20:14:45.000000000 +0100 @@ -17,8 +17,8 @@ * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ -#include #include +#include #define APM_PROC "/proc/apm" #define APM_DEVICE "/dev/apm_bios"