// Set the title
r = pakfire_progress_set_title(client->progress, "%s", title);
if (r)
- return r;
+ goto ERROR;
// Start the progress
r = pakfire_progress_start(client->progress, client->total_downloadsize);
if (r)
- return r;
+ goto ERROR;
// Run the event loop
- do {
- r = sd_event_run(client->loop, -1);
- if (r < 0) {
- CTX_ERROR(client->ctx, "Event loop failed: %s\n", strerror(-r));
-
- return r;
- }
- } while (client->still_running > 0);
+ r = sd_event_loop(client->loop);
+ if (r < 0) {
+ CTX_ERROR(client->ctx, "Event loop failed: %s\n", strerror(-r));
+ goto ERROR;
+ }
+ERROR:
// We are finished!
- r = pakfire_progress_finish(client->progress);
- if (r)
- return r;
+ pakfire_progress_finish(client->progress);
- return 0;
+ return r;
}