]> git.ipfire.org Git - pakfire.git/commitdiff
packager: Move creating reader into an extra function
authorMichael Tremer <michael.tremer@ipfire.org>
Mon, 8 Mar 2021 23:16:36 +0000 (23:16 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Mon, 8 Mar 2021 23:16:36 +0000 (23:16 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/libpakfire/packager.c

index 36a4a19347fce8a355fbada5fd43734465ac024a..a7ecc3d75b511d3f1ac4a6967c7d4665e2f20f35 100644 (file)
@@ -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;