From 0d559034cddc4de88399baa6ac36e9e69b0d0309 Mon Sep 17 00:00:00 2001 From: Alexey Dokuchaev Date: Sun, 8 Dec 2024 08:18:18 +0000 Subject: 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. --- sysutils/bsdfan/files/patch-system.c | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 sysutils/bsdfan/files/patch-system.c (limited to 'sysutils/bsdfan/files/patch-system.c') 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); -- cgit v1.2.3