Packages: don't use singleton

This commit is contained in:
李通洲
2023-06-13 21:38:06 +08:00
parent 92d234fb3e
commit 679622bac0
3 changed files with 48 additions and 46 deletions
+8 -8
View File
@@ -5,15 +5,15 @@
void ffDetectPackagesImpl(const FFinstance* instance, FFPackagesResult* result);
const FFPackagesResult* ffDetectPackages(const FFinstance* instance)
const char* ffDetectPackages(const FFinstance* instance, FFPackagesResult* result)
{
FF_DETECTION_INTERNAL_GUARD(FFPackagesResult,
memset(&result, 0, sizeof(FFPackagesResult));
ffStrbufInit(&result.pacmanBranch);
ffDetectPackagesImpl(instance, result);
ffDetectPackagesImpl(instance, &result);
for(uint32_t i = 0; i < offsetof(FFPackagesResult, all) / sizeof(uint32_t); ++i)
result->all += ((uint32_t *)result)[i];
for(uint32_t i = 0; i < offsetof(FFPackagesResult, all) / sizeof(uint32_t); ++i)
result.all += ((uint32_t *)&result)[i];
);
if (result->all == 0)
return "No packages from known package managers found";
return NULL;
}
+1 -1
View File
@@ -32,6 +32,6 @@ typedef struct FFPackagesResult
FFstrbuf pacmanBranch;
} FFPackagesResult;
const FFPackagesResult* ffDetectPackages(const FFinstance* instance);
const char* ffDetectPackages(const FFinstance* instance, FFPackagesResult* result);
#endif