From c77fb71a69bb1eff7da4d4785d1e2638ea4da2fd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E9=80=9A=E6=B4=B2?= Date: Tue, 25 Mar 2025 11:02:51 +0800 Subject: [PATCH] Battery (NetBSD): report remaining time --- src/detection/battery/battery_nbsd.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/detection/battery/battery_nbsd.c b/src/detection/battery/battery_nbsd.c index 093853336..bcf286b8e 100644 --- a/src/detection/battery/battery_nbsd.c +++ b/src/detection/battery/battery_nbsd.c @@ -70,9 +70,7 @@ const char* ffDetectBattery(FF_MAYBE_UNUSED FFBatteryOptions* options, FFlist* r critical = true; } else if (ffStrEquals(desc, "discharge rate")) - { prop_dictionary_get_uint(dict, "cur-value", &dischargeRate); - } } if (max > 0) @@ -92,7 +90,10 @@ const char* ffDetectBattery(FF_MAYBE_UNUSED FFBatteryOptions* options, FFlist* r if (charging) ffStrbufAppendS(&battery->status, "Charging, "); else if (dischargeRate) + { ffStrbufAppendS(&battery->status, "Discharging, "); + battery->timeRemaining = (int32_t)((double)curr / dischargeRate * 3600) + } if (critical) ffStrbufAppendS(&battery->status, "Critical, "); if (acConnected) @@ -100,8 +101,11 @@ const char* ffDetectBattery(FF_MAYBE_UNUSED FFBatteryOptions* options, FFlist* r ffStrbufTrimRight(&battery->status, ' '); ffStrbufTrimRight(&battery->status, ','); } + + prop_object_iterator_release(iter); } prop_object_iterator_release(itKey); + prop_object_release(root); return NULL; }