mirror of
https://github.com/fastfetch-cli/fastfetch.git
synced 2026-10-29 08:13:44 +01:00
Packages (FreeBSD): cache result
This commit is contained in:
@@ -2,8 +2,26 @@
|
||||
|
||||
#include "common/settings.h"
|
||||
|
||||
static uint32_t getSQLite3Int(const char* dbPath, const char* query, const char* packageId)
|
||||
{
|
||||
FF_STRBUF_AUTO_DESTROY cacheDir = ffStrbufCreate();
|
||||
FF_STRBUF_AUTO_DESTROY cacheContent = ffStrbufCreate();
|
||||
|
||||
uint32_t num_elements;
|
||||
if (ffPackagesReadCache(&cacheDir, &cacheContent, dbPath, packageId, &num_elements))
|
||||
return num_elements;
|
||||
|
||||
num_elements = (uint32_t) ffSettingsGetSQLite3Int(dbPath, query);
|
||||
|
||||
ffPackagesWriteCache(&cacheDir, &cacheContent, num_elements);
|
||||
|
||||
return num_elements;
|
||||
}
|
||||
|
||||
void ffDetectPackagesImpl(FFPackagesResult* result, FF_MAYBE_UNUSED FFPackagesOptions* options)
|
||||
{
|
||||
if (!(options->disabled & FF_PACKAGES_FLAG_PKG_BIT))
|
||||
result->pkg = (uint32_t) ffSettingsGetSQLite3Int(FASTFETCH_TARGET_DIR_ROOT "/var/db/pkg/local.sqlite", "SELECT count(*) FROM packages");
|
||||
{
|
||||
result->pkg = getSQLite3Int(FASTFETCH_TARGET_DIR_ROOT "/var/db/pkg/local.sqlite", "SELECT count(*) FROM packages", "pkg");
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user