From: Michael Tremer Date: Mon, 8 Mar 2021 23:16:36 +0000 (+0000) Subject: packager: Move creating reader into an extra function X-Git-Tag: 0.9.28~1285^2~595 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0682aeb38de0d714759c36672ed009d0f1e5afea;p=pakfire.git packager: Move creating reader into an extra function Signed-off-by: Michael Tremer --- diff --git a/src/libpakfire/packager.c b/src/libpakfire/packager.c index 36a4a1934..a7ecc3d75 100644 --- a/src/libpakfire/packager.c +++ b/src/libpakfire/packager.c @@ -134,6 +134,25 @@ static void pakfire_packager_free(struct pakfire_packager* packager) { pakfire_unref(packager->pakfire); } +static int pakfire_packager_create_reader(struct pakfire_packager* p) { + // Open a reader + p->reader = archive_read_disk_new(); + if (!p->reader) { + ERROR(p->pakfire, "archive_read_disk_new() failed\n"); + return 1; + } + + // Do not read fflags + int r = archive_read_disk_set_behavior(p->reader, ARCHIVE_READDISK_NO_FFLAGS); + if (r) { + ERROR(p->pakfire, "Could not change behavior of reader: %s\n", + archive_error_string(p->reader)); + return 1; + } + + return 0; +} + PAKFIRE_EXPORT int pakfire_packager_create(struct pakfire_packager** packager, PakfirePackage pkg) { struct pakfire_packager* p = calloc(1, sizeof(*p)); @@ -154,25 +173,15 @@ PAKFIRE_EXPORT int pakfire_packager_create(struct pakfire_packager** packager, if (r) goto ERROR; - // Start payload - r = pakfire_packager_create_payload(p, 1); + // Create reader + r = pakfire_packager_create_reader(p); if (r) goto ERROR; - // Open a reader - p->reader = archive_read_disk_new(); - if (!p->reader) { - ERROR(p->pakfire, "archive_read_disk_new() failed\n"); - goto ERROR; - } - - // Do not read fflags - r = archive_read_disk_set_behavior(p->reader, ARCHIVE_READDISK_NO_FFLAGS); - if (r) { - ERROR(p->pakfire, "Could not change behavior of reader: %s\n", - archive_error_string(p->reader)); + // Start payload + r = pakfire_packager_create_payload(p, 1); + if (r) goto ERROR; - } *packager = p;