mirror of
https://github.com/fastfetch-cli/fastfetch.git
synced 2025-02-20 11:43:27 +08:00
Host: rename properties
This commit is contained in:
parent
24cec76251
commit
6bcd75835e
@ -4,13 +4,13 @@
|
||||
|
||||
typedef struct FFHostResult
|
||||
{
|
||||
FFstrbuf productFamily;
|
||||
FFstrbuf productName;
|
||||
FFstrbuf productVersion;
|
||||
FFstrbuf productSku;
|
||||
FFstrbuf productSerial;
|
||||
FFstrbuf productUuid;
|
||||
FFstrbuf sysVendor;
|
||||
FFstrbuf family;
|
||||
FFstrbuf name;
|
||||
FFstrbuf version;
|
||||
FFstrbuf sku;
|
||||
FFstrbuf serial;
|
||||
FFstrbuf uuid;
|
||||
FFstrbuf vendor;
|
||||
} FFHostResult;
|
||||
|
||||
const char* ffDetectHost(FFHostResult* host);
|
||||
|
@ -5,32 +5,32 @@
|
||||
const char* ffDetectHost(FFHostResult* host)
|
||||
{
|
||||
// http://newandroidbook.com/ddb/
|
||||
ffSettingsGetAndroidProperty("ro.product.device", &host->productFamily);
|
||||
ffSettingsGetAndroidProperty("ro.product.device", &host->family);
|
||||
|
||||
ffSettingsGetAndroidProperty("ro.product.marketname", &host->productName)
|
||||
|| ffSettingsGetAndroidProperty("ro.vendor.product.display", &host->productName)
|
||||
|| ffSettingsGetAndroidProperty("ro.config.devicename", &host->productName)
|
||||
|| ffSettingsGetAndroidProperty("ro.config.marketing_name", &host->productName)
|
||||
|| ffSettingsGetAndroidProperty("ro.product.vendor.model", &host->productName)
|
||||
|| ffSettingsGetAndroidProperty("ro.product.oppo_model", &host->productName)
|
||||
|| ffSettingsGetAndroidProperty("ro.oppo.market.name", &host->productName)
|
||||
|| ffSettingsGetAndroidProperty("ro.product.brand", &host->productName);
|
||||
ffSettingsGetAndroidProperty("ro.product.marketname", &host->name)
|
||||
|| ffSettingsGetAndroidProperty("ro.vendor.product.display", &host->name)
|
||||
|| ffSettingsGetAndroidProperty("ro.config.devicename", &host->name)
|
||||
|| ffSettingsGetAndroidProperty("ro.config.marketing_name", &host->name)
|
||||
|| ffSettingsGetAndroidProperty("ro.product.vendor.model", &host->name)
|
||||
|| ffSettingsGetAndroidProperty("ro.product.oppo_model", &host->name)
|
||||
|| ffSettingsGetAndroidProperty("ro.oppo.market.name", &host->name)
|
||||
|| ffSettingsGetAndroidProperty("ro.product.brand", &host->name);
|
||||
|
||||
if (ffSettingsGetAndroidProperty("ro.product.model", &host->productVersion))
|
||||
if (ffSettingsGetAndroidProperty("ro.product.model", &host->version))
|
||||
{
|
||||
if (ffStrbufStartsWithIgnCase(&host->productVersion, &host->productName))
|
||||
if (ffStrbufStartsWithIgnCase(&host->version, &host->name))
|
||||
{
|
||||
ffStrbufSubstrAfter(&host->productVersion, host->productName.length);
|
||||
ffStrbufTrimLeft(&host->productVersion, ' ');
|
||||
ffStrbufSubstrAfter(&host->version, host->name.length);
|
||||
ffStrbufTrimLeft(&host->version, ' ');
|
||||
}
|
||||
}
|
||||
|
||||
ffSettingsGetAndroidProperty("ro.product.manufacturer", &host->sysVendor);
|
||||
ffSettingsGetAndroidProperty("ro.product.manufacturer", &host->vendor);
|
||||
|
||||
if(host->sysVendor.length && !ffStrbufStartsWithIgnCase(&host->productName, &host->sysVendor))
|
||||
if(host->vendor.length && !ffStrbufStartsWithIgnCase(&host->name, &host->vendor))
|
||||
{
|
||||
ffStrbufPrependS(&host->productName, " ");
|
||||
ffStrbufPrepend(&host->productName, &host->sysVendor);
|
||||
ffStrbufPrependS(&host->name, " ");
|
||||
ffStrbufPrepend(&host->name, &host->vendor);
|
||||
}
|
||||
|
||||
return NULL;
|
||||
|
@ -177,7 +177,7 @@ const char* getProductNameWithIokit(FFstrbuf* result)
|
||||
if (!productName)
|
||||
return "IORegistryEntryCreateCFProperty() failed";
|
||||
|
||||
return ffCfStrGetString(productName, result);
|
||||
return ffCfStrGetString(name, result);
|
||||
}
|
||||
|
||||
const char* getOthersByIokit(FFHostResult* host)
|
||||
@ -188,29 +188,29 @@ const char* getOthersByIokit(FFHostResult* host)
|
||||
|
||||
FF_CFTYPE_AUTO_RELEASE CFStringRef serialNumber = IORegistryEntryCreateCFProperty(registryEntry, CFSTR(kIOPlatformSerialNumberKey), kCFAllocatorDefault, kNilOptions);
|
||||
if (serialNumber)
|
||||
ffCfStrGetString(serialNumber, &host->productSerial);
|
||||
ffCfStrGetString(serialNumber, &host->serial);
|
||||
|
||||
FF_CFTYPE_AUTO_RELEASE CFStringRef uuid = IORegistryEntryCreateCFProperty(registryEntry, CFSTR(kIOPlatformUUIDKey), kCFAllocatorDefault, kNilOptions);
|
||||
if (uuid)
|
||||
ffCfStrGetString(uuid, &host->productUuid);
|
||||
ffCfStrGetString(uuid, &host->uuid);
|
||||
|
||||
FF_CFTYPE_AUTO_RELEASE CFStringRef manufacturer = IORegistryEntryCreateCFProperty(registryEntry, CFSTR("manufacturer"), kCFAllocatorDefault, kNilOptions);
|
||||
if (manufacturer)
|
||||
ffCfStrGetString(manufacturer, &host->sysVendor);
|
||||
ffCfStrGetString(manufacturer, &host->vendor);
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
const char* ffDetectHost(FFHostResult* host)
|
||||
{
|
||||
const char* error = ffSysctlGetString("hw.model", &host->productFamily);
|
||||
const char* error = ffSysctlGetString("hw.model", &host->family);
|
||||
if (error) return error;
|
||||
|
||||
ffStrbufSetStatic(&host->productName, getProductNameWithHwModel(&host->productFamily));
|
||||
if (host->productName.length == 0)
|
||||
getProductNameWithIokit(&host->productName);
|
||||
if (host->productName.length == 0)
|
||||
ffStrbufSet(&host->productName, &host->productFamily);
|
||||
ffStrbufSetStatic(&host->name, getProductNameWithHwModel(&host->family));
|
||||
if (host->name.length == 0)
|
||||
getProductNameWithIokit(&host->name);
|
||||
if (host->name.length == 0)
|
||||
ffStrbufSet(&host->name, &host->family);
|
||||
getOthersByIokit(host);
|
||||
return NULL;
|
||||
}
|
||||
|
@ -4,20 +4,20 @@
|
||||
|
||||
const char* ffDetectHost(FFHostResult* host)
|
||||
{
|
||||
ffSettingsGetFreeBSDKenv("smbios.system.product", &host->productName);
|
||||
ffCleanUpSmbiosValue(&host->productName);
|
||||
ffSettingsGetFreeBSDKenv("smbios.system.family", &host->productFamily);
|
||||
ffCleanUpSmbiosValue(&host->productFamily);
|
||||
ffSettingsGetFreeBSDKenv("smbios.system.version", &host->productVersion);
|
||||
ffCleanUpSmbiosValue(&host->productVersion);
|
||||
ffSettingsGetFreeBSDKenv("smbios.system.sku", &host->productSku);
|
||||
ffCleanUpSmbiosValue(&host->productSku);
|
||||
ffSettingsGetFreeBSDKenv("smbios.system.serial", &host->productSerial);
|
||||
ffCleanUpSmbiosValue(&host->productSerial);
|
||||
ffSettingsGetFreeBSDKenv("smbios.system.uuid", &host->productUuid);
|
||||
ffCleanUpSmbiosValue(&host->productUuid);
|
||||
ffSettingsGetFreeBSDKenv("smbios.system.maker", &host->sysVendor);
|
||||
ffCleanUpSmbiosValue(&host->sysVendor);
|
||||
ffSettingsGetFreeBSDKenv("smbios.system.product", &host->name);
|
||||
ffCleanUpSmbiosValue(&host->name);
|
||||
ffSettingsGetFreeBSDKenv("smbios.system.family", &host->family);
|
||||
ffCleanUpSmbiosValue(&host->family);
|
||||
ffSettingsGetFreeBSDKenv("smbios.system.version", &host->version);
|
||||
ffCleanUpSmbiosValue(&host->version);
|
||||
ffSettingsGetFreeBSDKenv("smbios.system.sku", &host->sku);
|
||||
ffCleanUpSmbiosValue(&host->sku);
|
||||
ffSettingsGetFreeBSDKenv("smbios.system.serial", &host->serial);
|
||||
ffCleanUpSmbiosValue(&host->serial);
|
||||
ffSettingsGetFreeBSDKenv("smbios.system.uuid", &host->uuid);
|
||||
ffCleanUpSmbiosValue(&host->uuid);
|
||||
ffSettingsGetFreeBSDKenv("smbios.system.maker", &host->vendor);
|
||||
ffCleanUpSmbiosValue(&host->vendor);
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
@ -29,28 +29,28 @@ static void getHostProductName(FFstrbuf* name)
|
||||
|
||||
const char* ffDetectHost(FFHostResult* host)
|
||||
{
|
||||
ffGetSmbiosValue("/sys/devices/virtual/dmi/id/product_family", "/sys/class/dmi/id/product_family", &host->productFamily);
|
||||
getHostProductName(&host->productName);
|
||||
ffGetSmbiosValue("/sys/devices/virtual/dmi/id/product_version", "/sys/class/dmi/id/product_version", &host->productVersion);
|
||||
ffGetSmbiosValue("/sys/devices/virtual/dmi/id/product_sku", "/sys/class/dmi/id/product_sku", &host->productSku);
|
||||
ffGetSmbiosValue("/sys/devices/virtual/dmi/id/product_serial", "/sys/class/dmi/id/product_serial", &host->productSerial);
|
||||
ffGetSmbiosValue("/sys/devices/virtual/dmi/id/product_uuid", "/sys/class/dmi/id/product_uuid", &host->productUuid);
|
||||
ffGetSmbiosValue("/sys/devices/virtual/dmi/id/sys_vendor", "/sys/class/dmi/id/sys_vendor", &host->sysVendor);
|
||||
ffGetSmbiosValue("/sys/devices/virtual/dmi/id/product_family", "/sys/class/dmi/id/product_family", &host->family);
|
||||
getHostProductName(&host->name);
|
||||
ffGetSmbiosValue("/sys/devices/virtual/dmi/id/product_version", "/sys/class/dmi/id/product_version", &host->version);
|
||||
ffGetSmbiosValue("/sys/devices/virtual/dmi/id/product_sku", "/sys/class/dmi/id/product_sku", &host->sku);
|
||||
ffGetSmbiosValue("/sys/devices/virtual/dmi/id/product_serial", "/sys/class/dmi/id/product_serial", &host->serial);
|
||||
ffGetSmbiosValue("/sys/devices/virtual/dmi/id/product_uuid", "/sys/class/dmi/id/product_uuid", &host->uuid);
|
||||
ffGetSmbiosValue("/sys/devices/virtual/dmi/id/sys_vendor", "/sys/class/dmi/id/sys_vendor", &host->vendor);
|
||||
|
||||
//KVM/Qemu virtual machine
|
||||
if(ffStrbufStartsWithS(&host->productName, "Standard PC"))
|
||||
ffStrbufPrependS(&host->productName, "KVM/QEMU ");
|
||||
if(ffStrbufStartsWithS(&host->name, "Standard PC"))
|
||||
ffStrbufPrependS(&host->name, "KVM/QEMU ");
|
||||
|
||||
if(host->productFamily.length == 0 && host->productName.length == 0)
|
||||
if(host->family.length == 0 && host->name.length == 0)
|
||||
{
|
||||
const char* wslDistroName = getenv("WSL_DISTRO_NAME");
|
||||
//On WSL, the real host can't be detected. Instead use WSL as host.
|
||||
if(wslDistroName != NULL || getenv("WSL_DISTRO") != NULL || getenv("WSL_INTEROP") != NULL)
|
||||
{
|
||||
ffStrbufAppendS(&host->productName, "Windows Subsystem for Linux");
|
||||
ffStrbufAppendS(&host->name, "Windows Subsystem for Linux");
|
||||
if (wslDistroName)
|
||||
ffStrbufAppendF(&host->productName, " - %s", wslDistroName);
|
||||
ffStrbufAppendS(&host->productFamily, "WSL");
|
||||
ffStrbufAppendF(&host->name, " - %s", wslDistroName);
|
||||
ffStrbufAppendS(&host->family, "WSL");
|
||||
|
||||
FF_STRBUF_AUTO_DESTROY wslVer = ffStrbufCreate(); //Wide characters
|
||||
if(!ffProcessAppendStdOut(&wslVer, (char* const[]){
|
||||
@ -63,7 +63,7 @@ const char* ffDetectHost(FFHostResult* host)
|
||||
ffStrbufSubstrAfterLastC(&wslVer, ' ');
|
||||
for(uint32_t i = 0; i < wslVer.length; ++i) {
|
||||
if(wslVer.chars[i]) //don't append \0
|
||||
ffStrbufAppendC(&host->productVersion, wslVer.chars[i]);
|
||||
ffStrbufAppendC(&host->version, wslVer.chars[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -9,16 +9,16 @@ const char* ffDetectHost(FFHostResult* host)
|
||||
if(!ffRegOpenKeyForRead(HKEY_LOCAL_MACHINE, L"HARDWARE\\DESCRIPTION\\System\\BIOS", &hKey, NULL))
|
||||
return "ffRegOpenKeyForRead(HKEY_LOCAL_MACHINE, L\"HARDWARE\\DESCRIPTION\\System\\BIOS\", &hKey, NULL) failed";
|
||||
|
||||
ffRegReadStrbuf(hKey, L"SystemProductName", &host->productName, NULL);
|
||||
ffCleanUpSmbiosValue(&host->productName);
|
||||
ffRegReadStrbuf(hKey, L"SystemFamily", &host->productFamily, NULL);
|
||||
ffCleanUpSmbiosValue(&host->productFamily);
|
||||
ffRegReadStrbuf(hKey, L"SystemVersion", &host->productVersion, NULL);
|
||||
ffCleanUpSmbiosValue(&host->productVersion);
|
||||
ffRegReadStrbuf(hKey, L"SystemSKU", &host->productSku, NULL);
|
||||
ffCleanUpSmbiosValue(&host->productSku);
|
||||
ffRegReadStrbuf(hKey, L"SystemManufacturer", &host->sysVendor, NULL);
|
||||
ffCleanUpSmbiosValue(&host->sysVendor);
|
||||
ffRegReadStrbuf(hKey, L"SystemProductName", &host->name, NULL);
|
||||
ffCleanUpSmbiosValue(&host->name);
|
||||
ffRegReadStrbuf(hKey, L"SystemFamily", &host->family, NULL);
|
||||
ffCleanUpSmbiosValue(&host->family);
|
||||
ffRegReadStrbuf(hKey, L"SystemVersion", &host->version, NULL);
|
||||
ffCleanUpSmbiosValue(&host->version);
|
||||
ffRegReadStrbuf(hKey, L"SystemSKU", &host->sku, NULL);
|
||||
ffCleanUpSmbiosValue(&host->sku);
|
||||
ffRegReadStrbuf(hKey, L"SystemManufacturer", &host->vendor, NULL);
|
||||
ffCleanUpSmbiosValue(&host->vendor);
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
@ -9,13 +9,13 @@
|
||||
void ffPrintHost(FFHostOptions* options)
|
||||
{
|
||||
FFHostResult host;
|
||||
ffStrbufInit(&host.productFamily);
|
||||
ffStrbufInit(&host.productName);
|
||||
ffStrbufInit(&host.productVersion);
|
||||
ffStrbufInit(&host.productSku);
|
||||
ffStrbufInit(&host.productSerial);
|
||||
ffStrbufInit(&host.productUuid);
|
||||
ffStrbufInit(&host.sysVendor);
|
||||
ffStrbufInit(&host.family);
|
||||
ffStrbufInit(&host.name);
|
||||
ffStrbufInit(&host.version);
|
||||
ffStrbufInit(&host.sku);
|
||||
ffStrbufInit(&host.serial);
|
||||
ffStrbufInit(&host.uuid);
|
||||
ffStrbufInit(&host.vendor);
|
||||
const char* error = ffDetectHost(&host);
|
||||
|
||||
if(error)
|
||||
@ -24,7 +24,7 @@ void ffPrintHost(FFHostOptions* options)
|
||||
goto exit;
|
||||
}
|
||||
|
||||
if(host.productFamily.length == 0 && host.productName.length == 0)
|
||||
if(host.family.length == 0 && host.name.length == 0)
|
||||
{
|
||||
ffPrintError(FF_HOST_MODULE_NAME, 0, &options->moduleArgs, "neither product_family nor product_name is set by O.E.M.");
|
||||
goto exit;
|
||||
@ -36,37 +36,37 @@ void ffPrintHost(FFHostOptions* options)
|
||||
|
||||
FF_STRBUF_AUTO_DESTROY output = ffStrbufCreate();
|
||||
|
||||
if(host.productName.length > 0)
|
||||
ffStrbufAppend(&output, &host.productName);
|
||||
if(host.name.length > 0)
|
||||
ffStrbufAppend(&output, &host.name);
|
||||
else
|
||||
ffStrbufAppend(&output, &host.productFamily);
|
||||
ffStrbufAppend(&output, &host.family);
|
||||
|
||||
if(host.productVersion.length > 0)
|
||||
ffStrbufAppendF(&output, " (%s)", host.productVersion.chars);
|
||||
if(host.version.length > 0)
|
||||
ffStrbufAppendF(&output, " (%s)", host.version.chars);
|
||||
|
||||
ffStrbufPutTo(&output, stdout);
|
||||
}
|
||||
else
|
||||
{
|
||||
ffPrintFormat(FF_HOST_MODULE_NAME, 0, &options->moduleArgs, FF_HOST_NUM_FORMAT_ARGS, (FFformatarg[]) {
|
||||
{FF_FORMAT_ARG_TYPE_STRBUF, &host.productFamily},
|
||||
{FF_FORMAT_ARG_TYPE_STRBUF, &host.productName},
|
||||
{FF_FORMAT_ARG_TYPE_STRBUF, &host.productVersion},
|
||||
{FF_FORMAT_ARG_TYPE_STRBUF, &host.productSku},
|
||||
{FF_FORMAT_ARG_TYPE_STRBUF, &host.sysVendor},
|
||||
{FF_FORMAT_ARG_TYPE_STRBUF, &host.productSerial},
|
||||
{FF_FORMAT_ARG_TYPE_STRBUF, &host.productUuid},
|
||||
{FF_FORMAT_ARG_TYPE_STRBUF, &host.family},
|
||||
{FF_FORMAT_ARG_TYPE_STRBUF, &host.name},
|
||||
{FF_FORMAT_ARG_TYPE_STRBUF, &host.version},
|
||||
{FF_FORMAT_ARG_TYPE_STRBUF, &host.sku},
|
||||
{FF_FORMAT_ARG_TYPE_STRBUF, &host.vendor},
|
||||
{FF_FORMAT_ARG_TYPE_STRBUF, &host.serial},
|
||||
{FF_FORMAT_ARG_TYPE_STRBUF, &host.uuid},
|
||||
});
|
||||
}
|
||||
|
||||
exit:
|
||||
ffStrbufDestroy(&host.productFamily);
|
||||
ffStrbufDestroy(&host.productName);
|
||||
ffStrbufDestroy(&host.productVersion);
|
||||
ffStrbufDestroy(&host.productSku);
|
||||
ffStrbufDestroy(&host.productSerial);
|
||||
ffStrbufDestroy(&host.productUuid);
|
||||
ffStrbufDestroy(&host.sysVendor);
|
||||
ffStrbufDestroy(&host.family);
|
||||
ffStrbufDestroy(&host.name);
|
||||
ffStrbufDestroy(&host.version);
|
||||
ffStrbufDestroy(&host.sku);
|
||||
ffStrbufDestroy(&host.serial);
|
||||
ffStrbufDestroy(&host.uuid);
|
||||
ffStrbufDestroy(&host.vendor);
|
||||
}
|
||||
|
||||
bool ffParseHostCommandOptions(FFHostOptions* options, const char* key, const char* value)
|
||||
@ -107,13 +107,13 @@ void ffGenerateHostJsonConfig(FFHostOptions* options, yyjson_mut_doc* doc, yyjso
|
||||
void ffGenerateHostJsonResult(FF_MAYBE_UNUSED FFHostOptions* options, yyjson_mut_doc* doc, yyjson_mut_val* module)
|
||||
{
|
||||
FFHostResult host;
|
||||
ffStrbufInit(&host.productFamily);
|
||||
ffStrbufInit(&host.productName);
|
||||
ffStrbufInit(&host.productVersion);
|
||||
ffStrbufInit(&host.productSku);
|
||||
ffStrbufInit(&host.productSerial);
|
||||
ffStrbufInit(&host.productUuid);
|
||||
ffStrbufInit(&host.sysVendor);
|
||||
ffStrbufInit(&host.family);
|
||||
ffStrbufInit(&host.name);
|
||||
ffStrbufInit(&host.version);
|
||||
ffStrbufInit(&host.sku);
|
||||
ffStrbufInit(&host.serial);
|
||||
ffStrbufInit(&host.uuid);
|
||||
ffStrbufInit(&host.vendor);
|
||||
const char* error = ffDetectHost(&host);
|
||||
|
||||
if (error)
|
||||
@ -122,29 +122,29 @@ void ffGenerateHostJsonResult(FF_MAYBE_UNUSED FFHostOptions* options, yyjson_mut
|
||||
goto exit;
|
||||
}
|
||||
|
||||
if (host.productFamily.length == 0 && host.productName.length == 0)
|
||||
if (host.family.length == 0 && host.name.length == 0)
|
||||
{
|
||||
yyjson_mut_obj_add_str(doc, module, "error", "neither product_family nor product_name is set by O.E.M.");
|
||||
goto exit;
|
||||
}
|
||||
|
||||
yyjson_mut_val* obj = yyjson_mut_obj_add_obj(doc, module, "result");
|
||||
yyjson_mut_obj_add_strbuf(doc, obj, "family", &host.productFamily);
|
||||
yyjson_mut_obj_add_strbuf(doc, obj, "name", &host.productName);
|
||||
yyjson_mut_obj_add_strbuf(doc, obj, "version", &host.productVersion);
|
||||
yyjson_mut_obj_add_strbuf(doc, obj, "sku", &host.productSku);
|
||||
yyjson_mut_obj_add_strbuf(doc, obj, "serial", &host.productSerial);
|
||||
yyjson_mut_obj_add_strbuf(doc, obj, "uuid", &host.productUuid);
|
||||
yyjson_mut_obj_add_strbuf(doc, obj, "sysVender", &host.sysVendor);
|
||||
yyjson_mut_obj_add_strbuf(doc, obj, "family", &host.family);
|
||||
yyjson_mut_obj_add_strbuf(doc, obj, "name", &host.name);
|
||||
yyjson_mut_obj_add_strbuf(doc, obj, "version", &host.version);
|
||||
yyjson_mut_obj_add_strbuf(doc, obj, "sku", &host.sku);
|
||||
yyjson_mut_obj_add_strbuf(doc, obj, "serial", &host.serial);
|
||||
yyjson_mut_obj_add_strbuf(doc, obj, "uuid", &host.uuid);
|
||||
yyjson_mut_obj_add_strbuf(doc, obj, "sysVender", &host.vendor);
|
||||
|
||||
exit:
|
||||
ffStrbufDestroy(&host.productFamily);
|
||||
ffStrbufDestroy(&host.productName);
|
||||
ffStrbufDestroy(&host.productVersion);
|
||||
ffStrbufDestroy(&host.productSku);
|
||||
ffStrbufDestroy(&host.productSerial);
|
||||
ffStrbufDestroy(&host.productUuid);
|
||||
ffStrbufDestroy(&host.sysVendor);
|
||||
ffStrbufDestroy(&host.family);
|
||||
ffStrbufDestroy(&host.name);
|
||||
ffStrbufDestroy(&host.version);
|
||||
ffStrbufDestroy(&host.sku);
|
||||
ffStrbufDestroy(&host.serial);
|
||||
ffStrbufDestroy(&host.uuid);
|
||||
ffStrbufDestroy(&host.vendor);
|
||||
}
|
||||
|
||||
void ffPrintHostHelpFormat(void)
|
||||
|
Loading…
x
Reference in New Issue
Block a user