int pakfire_httpclient_create_xfer(struct pakfire_xfer** xfer,
struct pakfire_httpclient* client, const char* url) {
- return pakfire_xfer_create(xfer, client->ctx, client, url);
+ struct pakfire_xfer* x = NULL;
+ int r;
+
+ // Create a new transfer
+ r = pakfire_xfer_create(&x, client->ctx, client, url);
+ if (r)
+ goto ERROR;
+
+ // Configure the base URL
+ if (*client->baseurl) {
+ r = pakfire_xfer_set_baseurl(x, client->baseurl);
+ if (r)
+ goto ERROR;
+ }
+
+ // Return the result
+ *xfer = x;
+
+ return 0;
+
+ERROR:
+ if (x)
+ pakfire_xfer_unref(x);
+
+ return r;
}
int pakfire_httpclient_enqueue_xfer(struct pakfire_httpclient* client,