return 0;
}
+static size_t pakfire_downloader_write(char* data, size_t size, size_t nmemb, void* userdata) {
+ struct pakfire_transfer* transfer = (struct pakfire_transfer*)userdata;
+
+ // Write everything to the allocated file descriptor
+ return fwrite(data, size, nmemb, transfer->f);
+}
+
static int pakfire_downloader_prepare_transfer(struct pakfire_downloader* downloader,
struct pakfire_transfer* transfer) {
// Increment tries
}
}
- // Write all data to the allocated file descriptor
- curl_easy_setopt(transfer->handle, CURLOPT_WRITEDATA, transfer->f);
+ // Write all data to the callback function
+ curl_easy_setopt(transfer->handle, CURLOPT_WRITEFUNCTION, pakfire_downloader_write);
+ curl_easy_setopt(transfer->handle, CURLOPT_WRITEDATA, transfer);
return 0;
}