From: Luca Boccassi Date: Wed, 27 Jan 2021 12:53:13 +0000 (+0000) Subject: os-util: add load_extension_release_pairs helper X-Git-Tag: v248-rc1~66^2~7 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=eb590035b9d7421e2273cb08d48530427604a740;p=thirdparty%2Fsystemd.git os-util: add load_extension_release_pairs helper --- diff --git a/src/shared/os-util.c b/src/shared/os-util.c index 3ecc03b0225..2916dfeba4b 100644 --- a/src/shared/os-util.c +++ b/src/shared/os-util.c @@ -180,3 +180,15 @@ int load_os_release_pairs_with_prefix(const char *root, const char *prefix, char return 0; } + +int load_extension_release_pairs(const char *root, const char *extension, char ***ret) { + _cleanup_fclose_ FILE *f = NULL; + _cleanup_free_ char *p = NULL; + int r; + + r = fopen_extension_release(root, extension, &p, &f); + if (r < 0) + return r; + + return load_env_file_pairs(f, p, ret); +} diff --git a/src/shared/os-util.h b/src/shared/os-util.h index a6cedc6087d..bdb9e6adea9 100644 --- a/src/shared/os-util.h +++ b/src/shared/os-util.h @@ -23,5 +23,6 @@ static inline int fopen_os_release(const char *root, char **ret_path, FILE **ret int parse_extension_release(const char *root, const char *extension, ...) _sentinel_; int parse_os_release(const char *root, ...) _sentinel_; +int load_extension_release_pairs(const char *root, const char *extension, char ***ret); int load_os_release_pairs(const char *root, char ***ret); int load_os_release_pairs_with_prefix(const char *root, const char *prefix, char ***ret);