From 6199c0e1cf45f0a295bb41efd4ff01fd5e846dc9 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Tue, 1 Nov 2022 14:00:28 +0000 Subject: [PATCH] repo: Make functions to check if internal or local available everywhere Signed-off-by: Michael Tremer --- src/libpakfire/include/pakfire/repo.h | 2 ++ src/libpakfire/repo.c | 22 +++++++++++----------- 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/src/libpakfire/include/pakfire/repo.h b/src/libpakfire/include/pakfire/repo.h index df52cd2cc..cf96d5c1d 100644 --- a/src/libpakfire/include/pakfire/repo.h +++ b/src/libpakfire/include/pakfire/repo.h @@ -109,6 +109,8 @@ int pakfire_repo_compose(struct pakfire* pakfire, const char* path, int flags, #define PAKFIRE_REPO_SYSTEM "@system" int pakfire_repo_name_equals(struct pakfire_repo* repo, const char* name); +int pakfire_repo_is_internal(struct pakfire_repo* repo); +int pakfire_repo_is_local(struct pakfire_repo* repo); int pakfire_repo_import(struct pakfire* pakfire, struct pakfire_config* config); const char* pakfire_repo_get_path(struct pakfire_repo* repo); diff --git a/src/libpakfire/repo.c b/src/libpakfire/repo.c index c5276f845..548828bd1 100644 --- a/src/libpakfire/repo.c +++ b/src/libpakfire/repo.c @@ -81,7 +81,7 @@ struct pakfire_repo { struct pakfire_mirrorlist* mirrorlist; }; -static int pakfire_repo_is_internal(struct pakfire_repo* repo) { +int pakfire_repo_is_internal(struct pakfire_repo* repo) { const char* name = pakfire_repo_get_name(repo); if (!name) return 0; @@ -89,6 +89,13 @@ static int pakfire_repo_is_internal(struct pakfire_repo* repo) { return (*name == '@'); } +int pakfire_repo_is_local(struct pakfire_repo* repo) { + if (!repo->appdata->baseurl) + return 0; + + return pakfire_string_startswith(repo->appdata->baseurl, "file://"); +} + int pakfire_repo_name_equals(struct pakfire_repo* repo, const char* name) { const char* n = pakfire_repo_get_name(repo); if (!n) @@ -746,13 +753,6 @@ PAKFIRE_EXPORT int pakfire_repo_set_baseurl(struct pakfire_repo* repo, const cha return 0; } -static int pakfire_repo_is_local(struct pakfire_repo* repo) { - if (!repo->appdata->baseurl) - return 0; - - return pakfire_string_startswith(repo->appdata->baseurl, "file://"); -} - const char* pakfire_repo_get_path(struct pakfire_repo* repo) { if (!pakfire_repo_is_local(repo)) return NULL; @@ -784,7 +784,7 @@ PAKFIRE_EXPORT int pakfire_repo_write_config(struct pakfire_repo* repo, FILE* f) int r; // Do nothing for the installed repository - if (pakfire_repo_is_installed_repo(repo) == 0) + if (pakfire_repo_is_installed_repo(repo)) return 0; struct pakfire_config* config = NULL; @@ -888,13 +888,13 @@ ERROR: PAKFIRE_EXPORT int pakfire_repo_is_installed_repo(struct pakfire_repo* repo) { struct pakfire_repo* installed_repo = pakfire_get_installed_repo(repo->pakfire); if (!installed_repo) - return 1; + return 0; int r = pakfire_repo_identical(repo, installed_repo); pakfire_repo_unref(installed_repo); - return r; + return (r == 0); } PAKFIRE_EXPORT int pakfire_repo_read_solv(struct pakfire_repo* repo, FILE *f, int flags) { -- 2.39.5