From b38d7a4919c239f83be7b095f43a06d214a14589 Mon Sep 17 00:00:00 2001 From: Carter Li Date: Sat, 21 Dec 2024 20:13:07 +0800 Subject: [PATCH] Brightness (NetBSD): don't error out if the screen idx isn't 0 --- src/detection/brightness/brightness_nbsd.c | 23 +++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/src/detection/brightness/brightness_nbsd.c b/src/detection/brightness/brightness_nbsd.c index e7a3144e4..1fd7773b0 100644 --- a/src/detection/brightness/brightness_nbsd.c +++ b/src/detection/brightness/brightness_nbsd.c @@ -5,16 +5,21 @@ const char* ffDetectBrightness(FF_MAYBE_UNUSED FFBrightnessOptions* options, FFlist* result) { // https://man.netbsd.org/NetBSD-10.1/acpiout.4#DESCRIPTION + char key[] = "hw.acpi.acpiout0.brightness"; + char* pn = key + strlen("hw.acpi.acpiout"); + + for (uint32_t i = 0; i <= 9; ++i) + { + *pn = (char) ('0' + i); + int value = ffSysctlGetInt(key, -1); + if (value == -1) continue; - int value = ffSysctlGetInt("hw.acpi.acpiout0.brightness", -1); - if (value == -1) - return "sysctl(hw.acpi.acpiout0.brightness) failed"; + FFBrightnessResult* brightness = (FFBrightnessResult*) ffListAdd(result); + ffStrbufInitF(&brightness->name, "acpiout%d", i); - FFBrightnessResult* brightness = (FFBrightnessResult*) ffListAdd(result); - ffStrbufInitStatic(&brightness->name, "acpiout"); - - brightness->max = 100; - brightness->min = 0; - brightness->current = value; + brightness->max = 100; + brightness->min = 0; + brightness->current = value; + } return NULL; }