From ad122e9569d9a74c8f5380cf8333375ea396679d Mon Sep 17 00:00:00 2001 From: Linus Dierheimer Date: Sat, 24 Apr 2021 14:37:40 +0200 Subject: [PATCH] better handling of custom battery dir --- src/modules/battery.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/modules/battery.c b/src/modules/battery.c index 5451b9539..4b6df1b28 100644 --- a/src/modules/battery.c +++ b/src/modules/battery.c @@ -95,9 +95,22 @@ void ffPrintBattery(FFinstance* instance) FFstrbuf baseDir; ffStrbufInitA(&baseDir, 64); if(instance->config.batteryDir.length > 0) + { ffStrbufAppend(&baseDir, &instance->config.batteryDir); + + if(baseDir.length == 0) + { + ffPrintError(instance, FF_BATTERY_MODULE_NAME, 0, &instance->config.batteryKey, &instance->config.batteryFormat, FF_BATTERY_NUM_FORMAT_ARGS, "custom battery dir is an empty string"); + ffStrbufDestroy(&baseDir); + return; + } + + if(baseDir.chars[baseDir.length - 1] != '/') + ffStrbufAppendC(&baseDir, '/'); + } else ffStrbufAppendS(&baseDir, "/sys/class/power_supply/"); + uint32_t baseDirLength = baseDir.length; DIR* dirp = opendir(baseDir.chars);