From: Michael Tremer Date: Mon, 25 Sep 2023 15:34:57 +0000 (+0000) Subject: downloader: Correctly initialize cURL X-Git-Tag: 0.9.30~1646 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0421c1df0bd63dee1871cb9f388e1c7fe81c70d6;p=pakfire.git downloader: Correctly initialize cURL Signed-off-by: Michael Tremer --- diff --git a/src/libpakfire/downloader.c b/src/libpakfire/downloader.c index c11c86c22..38fad822b 100644 --- a/src/libpakfire/downloader.c +++ b/src/libpakfire/downloader.c @@ -106,6 +106,15 @@ static char* pakfire_url_join(const char* part1, const char* part2) { } static int pakfire_downloader_setup_curl(struct pakfire_downloader* downloader) { + int r; + + // Initialize cURL + r = curl_global_init(CURL_GLOBAL_DEFAULT); + if (r) { + ERROR(downloader->pakfire, "Could not initialize cURL: %d\n", r); + return r; + } + // Create a new multi handle downloader->curl = curl_multi_init(); if (!downloader->curl) { @@ -161,6 +170,8 @@ static void pakfire_downloader_free(struct pakfire_downloader* downloader) { } int pakfire_downloader_create(struct pakfire_downloader** downloader, struct pakfire* pakfire) { + int r; + // Fail if pakfire is running in offline mode if (pakfire_has_flag(pakfire, PAKFIRE_FLAGS_OFFLINE)) { ERROR(pakfire, "Cannot initialize downloader in offline mode\n"); @@ -185,7 +196,7 @@ int pakfire_downloader_create(struct pakfire_downloader** downloader, struct pak TAILQ_INIT(&d->transfers); // Setup cURL - int r = pakfire_downloader_setup_curl(d); + r = pakfire_downloader_setup_curl(d); if (r) goto ERROR;