From: Michael Tremer Date: Tue, 20 Apr 2021 09:35:33 +0000 (+0000) Subject: repo: Do not keep a downloader X-Git-Tag: 0.9.28~1285^2~312 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=76159ad54963f44d7b4f994837706b866ecfbd17;p=pakfire.git repo: Do not keep a downloader There is no point in having a function to initialise a downloader which basically has no settings. Signed-off-by: Michael Tremer --- diff --git a/src/libpakfire/repo.c b/src/libpakfire/repo.c index 876ff3f54..13bf96e74 100644 --- a/src/libpakfire/repo.c +++ b/src/libpakfire/repo.c @@ -75,7 +75,6 @@ struct _PakfireRepo { int nrefs; struct pakfire_mirrorlist* mirrorlist; - struct pakfire_downloader* downloader; }; int pakfire_repo_import(Pakfire pakfire, struct pakfire_config* config) { @@ -146,16 +145,6 @@ Id pakfire_repo_add_solvable(PakfireRepo repo) { return repo_add_solvable(repo->repo); } -static struct pakfire_downloader* pakfire_repo_downloader(PakfireRepo repo) { - if (!repo->downloader) { - int r = pakfire_downloader_create(&repo->downloader, repo->pakfire); - if (r) - return NULL; - } - - return pakfire_downloader_ref(repo->downloader); -} - struct pakfire_mirrorlist* pakfire_repo_get_mirrorlist(PakfireRepo repo) { if (!repo->mirrorlist) { // No cache path set @@ -186,14 +175,12 @@ struct pakfire_mirrorlist* pakfire_repo_get_mirrorlist(PakfireRepo repo) { } static int pakfire_repo_retrieve(PakfireRepo repo, const char* url, const char* path) { - struct pakfire_downloader* downloader = NULL; struct pakfire_mirrorlist* mirrorlist = NULL; - int r = 1; - // Fetch downloader - downloader = pakfire_repo_downloader(repo); - if (!downloader) - goto ERROR; + struct pakfire_downloader* downloader; + int r = pakfire_downloader_create(&downloader, repo->pakfire); + if (r) + return r; // Fetch mirrorlist mirrorlist = pakfire_repo_get_mirrorlist(repo); @@ -201,11 +188,9 @@ static int pakfire_repo_retrieve(PakfireRepo repo, const char* url, const char* // Retrieve the database file r = pakfire_downloader_retrieve(downloader, repo->appdata->baseurl, mirrorlist, url, path); -ERROR: - if (downloader) - pakfire_downloader_unref(downloader); if (mirrorlist) pakfire_mirrorlist_unref(mirrorlist); + pakfire_downloader_unref(downloader); return r; } @@ -355,8 +340,6 @@ static void pakfire_repo_free(PakfireRepo repo, const int free_repo) { repo_free(repo->repo, 0); } - if (repo->downloader) - pakfire_downloader_unref(repo->downloader); if (repo->mirrorlist) pakfire_mirrorlist_unref(repo->mirrorlist); pakfire_unref(repo->pakfire);