diff options
author | Alexey Dokuchaev <danfe@FreeBSD.org> | 2024-12-08 08:18:18 +0000 |
---|---|---|
committer | Alexey Dokuchaev <danfe@FreeBSD.org> | 2024-12-08 08:18:18 +0000 |
commit | 0d559034cddc4de88399baa6ac36e9e69b0d0309 (patch) | |
tree | d6f6a573535a2e8bfd859a5d463d5ac47140e438 /sysutils/bsdfan/files/patch-system.c | |
parent | audio/pulseaudio-module-sndio: unbreak module version again (diff) |
sysutils/bsdfan: print better error message when failing to start
On non-ThinkPad laptops, or when acpi_ibm(4) module is not loaded,
the program emits cryptic "bsdfan: Not enough permissions: No such
file or directory" error message. Replace it with something more
meaningful and helpful.
Diffstat (limited to 'sysutils/bsdfan/files/patch-system.c')
-rw-r--r-- | sysutils/bsdfan/files/patch-system.c | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/sysutils/bsdfan/files/patch-system.c b/sysutils/bsdfan/files/patch-system.c new file mode 100644 index 000000000000..746330371302 --- /dev/null +++ b/sysutils/bsdfan/files/patch-system.c @@ -0,0 +1,31 @@ +--- system.c.orig 2018-01-12 16:11:08 UTC ++++ system.c +@@ -10,7 +10,7 @@ + #include "system.h" + + #define INVALID_MODE_ERROR "Invalid fan mode" +-#define PERMISSION_ERROR "Not enough permissions" ++#define FAN_SYSCTL_NODE "dev.acpi_ibm.0.fan" + #define KELVIN_TO_CELSIUS(t) ((t-2732+5)/10) + + static int idx_cur_level; +@@ -30,8 +30,8 @@ setFan(int mode, const struct Level *levels) + case MANUAL: + case AUTO: + /*set fan in manual mode*/ +- if (sysctlbyname("dev.acpi_ibm.0.fan",NULL,NULL,&mode,sizeof(int)) == -1) +- err(EX_NOPERM, PERMISSION_ERROR); ++ if (sysctlbyname(FAN_SYSCTL_NODE,NULL,NULL,&mode,sizeof(int)) == -1) ++ err(EX_NOPERM, FAN_SYSCTL_NODE); + + if (mode == AUTO) + break; +@@ -86,7 +86,7 @@ levelDown(const struct Level *levels) + } + + int +-getTemp() ++getTemp(void) + { + int temp[8]={0}; + size_t len = 8*sizeof(int); |