Battery: print error info instead of nan% ( macOS )

This commit is contained in:
李通洲
2022-09-20 18:26:50 +08:00
parent e60537512e
commit 7f19cb1d21
+13 -3
View File
@@ -27,13 +27,23 @@ const char* ffDetectBatteryImpl(FFinstance* instance, FFlist* results)
}
bool boolValue;
const char* error;
BatteryResult* battery = ffListAdd(results);
ffStrbufInit(&battery->capacity);
int currentCapacity, maxCapacity;
if(!ffCfDictGetInt(properties, CFSTR("CurrentCapacity"), &currentCapacity) &&
!ffCfDictGetInt(properties, CFSTR("MaxCapacity"), &maxCapacity))
ffStrbufAppendF(&battery->capacity, "%.0f", currentCapacity * 100.0 / maxCapacity);
if ((error = ffCfDictGetInt(properties, CFSTR("MaxCapacity"), &maxCapacity)))
return error;
if (maxCapacity <= 0)
return "Querying MaxCapacity failed";
if ((error = ffCfDictGetInt(properties, CFSTR("CurrentCapacity"), &currentCapacity)))
return error;
if(currentCapacity <= 0)
return "Querying CurrentCapacity failed";
ffStrbufAppendF(&battery->capacity, "%.0f", currentCapacity * 100.0 / maxCapacity);
ffStrbufInit(&battery->manufacturer);
ffStrbufInit(&battery->modelName);