better handling of custom battery dir

This commit is contained in:
Linus Dierheimer
2021-04-24 14:37:40 +02:00
parent fc1c17932e
commit ad122e9569
+13
View File
@@ -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);