summaryrefslogtreecommitdiff
path: root/sysutils/bsdfan/files/patch-system.c
diff options
context:
space:
mode:
authorAlexey Dokuchaev <danfe@FreeBSD.org>2024-12-08 08:18:18 +0000
committerAlexey Dokuchaev <danfe@FreeBSD.org>2024-12-08 08:18:18 +0000
commit0d559034cddc4de88399baa6ac36e9e69b0d0309 (patch)
treed6f6a573535a2e8bfd859a5d463d5ac47140e438 /sysutils/bsdfan/files/patch-system.c
parentaudio/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.c31
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);