mirror of
https://github.com/fastfetch-cli/fastfetch.git
synced 2026-09-13 02:42:09 +02:00
Board: simplify code
This commit is contained in:
@@ -10,9 +10,8 @@ typedef struct FFBoardResult
|
||||
FFstrbuf boardName;
|
||||
FFstrbuf boardVendor;
|
||||
FFstrbuf boardVersion;
|
||||
FFstrbuf error;
|
||||
} FFBoardResult;
|
||||
|
||||
void ffDetectBoard(FFBoardResult* result);
|
||||
const char* ffDetectBoard(FFBoardResult* result);
|
||||
|
||||
#endif
|
||||
|
||||
@@ -1,12 +1,10 @@
|
||||
#include "board.h"
|
||||
#include "common/settings.h"
|
||||
|
||||
void ffDetectBoard(FFBoardResult* board)
|
||||
const char* ffDetectBoard(FFBoardResult* board)
|
||||
{
|
||||
ffStrbufInit(&board->boardName);
|
||||
ffStrbufInit(&board->boardVendor);
|
||||
ffStrbufInit(&board->boardVersion);
|
||||
ffSettingsGetFreeBSDKenv("smbios.planar.product", &board->boardName);
|
||||
ffSettingsGetFreeBSDKenv("smbios.planar.maker", &board->boardVendor);
|
||||
ffSettingsGetFreeBSDKenv("smbios.planar.version", &board->boardVersion);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
@@ -41,16 +41,10 @@ static void getHostValue(const char* devicesPath, const char* classPath, FFstrbu
|
||||
ffStrbufClear(buffer);
|
||||
}
|
||||
|
||||
void ffDetectBoard(FFBoardResult* board)
|
||||
const char* ffDetectBoard(FFBoardResult* board)
|
||||
{
|
||||
ffStrbufInit(&board->error);
|
||||
|
||||
ffStrbufInit(&board->boardName);
|
||||
getHostValue("/sys/devices/virtual/dmi/id/board_name", "/sys/class/dmi/id/board_name", &board->boardName);
|
||||
|
||||
ffStrbufInit(&board->boardVendor);
|
||||
getHostValue("/sys/devices/virtual/dmi/id/board_vendor", "/sys/class/dmi/id/board_vendor", &board->boardVendor);
|
||||
|
||||
ffStrbufInit(&board->boardVersion);
|
||||
getHostValue("/sys/devices/virtual/dmi/id/board_version", "/sys/class/dmi/id/board_version", &board->boardVersion);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
@@ -1,10 +1,6 @@
|
||||
#include "board.h"
|
||||
|
||||
void ffDetectBoard(FFBoardResult* board)
|
||||
const char* ffDetectBoard(FFBoardResult* board)
|
||||
{
|
||||
ffStrbufInitS(&board->error, "Not supported on this platform");
|
||||
|
||||
ffStrbufInit(&board->boardName);
|
||||
ffStrbufInit(&board->boardVendor);
|
||||
ffStrbufInit(&board->boardVersion);
|
||||
return "Not supported on this platform";
|
||||
}
|
||||
|
||||
@@ -1,21 +1,18 @@
|
||||
#include "board.h"
|
||||
#include "util/windows/registry.h"
|
||||
|
||||
void ffDetectBoard(FFBoardResult* board)
|
||||
const char* ffDetectBoard(FFBoardResult* board)
|
||||
{
|
||||
ffStrbufInit(&board->error);
|
||||
|
||||
ffStrbufInit(&board->boardName);
|
||||
ffStrbufInit(&board->boardVendor);
|
||||
ffStrbufInit(&board->boardVersion);
|
||||
|
||||
FF_HKEY_AUTO_DESTROY hKey = NULL;
|
||||
|
||||
if(!ffRegOpenKeyForRead(HKEY_LOCAL_MACHINE, L"HARDWARE\\DESCRIPTION\\System\\BIOS", &hKey, &board->error))
|
||||
return;
|
||||
if(!ffRegOpenKeyForRead(HKEY_LOCAL_MACHINE, L"HARDWARE\\DESCRIPTION\\System\\BIOS", &hKey, NULL))
|
||||
return "ffRegOpenKeyForRead(HKEY_LOCAL_MACHINE, L\"HARDWARE\\DESCRIPTION\\System\\BIOS\") failed";
|
||||
|
||||
if(!ffRegReadStrbuf(hKey, L"BaseBoardProduct", &board->boardName, NULL))
|
||||
return "ffRegReadStrbuf(hKey, L\"BaseBoardProduct\") failed";
|
||||
|
||||
if(!ffRegReadStrbuf(hKey, L"BaseBoardProduct", &board->boardName, &board->error))
|
||||
return;
|
||||
ffRegReadStrbuf(hKey, L"BaseBoardManufacturer", &board->boardVendor, NULL);
|
||||
ffRegReadStrbuf(hKey, L"BaseBoardVersion", &board->boardVersion, NULL);
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
@@ -9,11 +9,14 @@
|
||||
void ffPrintBoard(FFinstance* instance, FFBoardOptions* options)
|
||||
{
|
||||
FFBoardResult result;
|
||||
ffDetectBoard(&result);
|
||||
ffStrbufInit(&result.boardName);
|
||||
ffStrbufInit(&result.boardVendor);
|
||||
ffStrbufInit(&result.boardVersion);
|
||||
const char* error = ffDetectBoard(&result);
|
||||
|
||||
if(result.error.length > 0)
|
||||
if(error)
|
||||
{
|
||||
ffPrintError(instance, FF_BOARD_MODULE_NAME, 0, &options->moduleArgs, "%*s", result.error.length, result.error.chars);
|
||||
ffPrintError(instance, FF_BOARD_MODULE_NAME, 0, &options->moduleArgs, "%s", error);
|
||||
goto exit;
|
||||
}
|
||||
|
||||
@@ -44,7 +47,6 @@ exit:
|
||||
ffStrbufDestroy(&result.boardName);
|
||||
ffStrbufDestroy(&result.boardVendor);
|
||||
ffStrbufDestroy(&result.boardVersion);
|
||||
ffStrbufDestroy(&result.error);
|
||||
}
|
||||
|
||||
void ffInitBoardOptions(FFBoardOptions* options)
|
||||
|
||||
Reference in New Issue
Block a user