]> git.ipfire.org Git - pakfire.git/commitdiff
packager: Improve passing on error codes
authorMichael Tremer <michael.tremer@ipfire.org>
Sun, 29 Dec 2024 19:58:48 +0000 (19:58 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Sun, 29 Dec 2024 19:58:48 +0000 (19:58 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/libpakfire/compress.c
src/libpakfire/file.c
src/libpakfire/packager.c
tests/libpakfire/packager.c

index e3cca03cf827a6129663ebb4f055780372f413a3..17a174fcae1cca809b9ede51a4fe8ec9a0182ea2 100644 (file)
@@ -607,7 +607,7 @@ static int __pakfire_compress_entry(struct pakfire_ctx* ctx, struct pakfire_file
                // Open the file
                f = pakfire_file_fopen(file);
                if (!f) {
-                       r = 1;
+                       r = -errno;
                        goto ERROR;
                }
 
@@ -642,7 +642,7 @@ static int __pakfire_compress(struct pakfire_ctx* ctx, struct pakfire_file* file
        // Generate file metadata into an archive entry
        entry = pakfire_file_archive_entry(file, data->digests);
        if (!entry) {
-               r = 1;
+               r = -errno;
                goto ERROR;
        }
 
index d33e728e3ece8fb520f09e96a79d177d510287bb..390529f76f13d37bb73a5d73af32d9d9cefe1681 100644 (file)
@@ -1175,7 +1175,7 @@ ERROR:
 static int __pakfire_file_compute_digests(struct pakfire_file* file,
                struct pakfire_digests* digests, const int types) {
        FILE* f = NULL;
-       int r = 1;
+       int r;
 
        const mode_t mode = pakfire_file_get_mode(file);
 
@@ -1188,8 +1188,10 @@ static int __pakfire_file_compute_digests(struct pakfire_file* file,
 
        // Open the file
        f = pakfire_file_fopen(file);
-       if (!f)
+       if (!f) {
+               r = -errno;
                goto ERROR;
+       }
 
        // Compute digests
        r = pakfire_digests_compute_from_file(file->ctx, digests, types, f);
index f86410b45c23e81d910c665b331c8a63b07a1b70..3546fb3ae6956389703bbab8cadf1abb1be6b25e 100644 (file)
@@ -276,7 +276,7 @@ static int pakfire_packager_write_file_from_buffer(struct pakfire_packager* pack
        struct archive_entry* entry = pakfire_packager_create_file(packager, filename, size, mode);
        if (!entry) {
                ERROR(packager->ctx, "Could not create file '%s'\n", filename);
-               return 1;
+               return -errno;
        }
 
        // This is the end of the header
@@ -350,17 +350,17 @@ ERROR:
 
 static int pakfire_packager_write_metadata(struct pakfire_packager* packager,
                struct archive* a) {
+       int r;
+
        // Make metadata
        char* buffer = pakfire_packager_make_metadata(packager);
        if (!buffer)
-               return 1;
+               return -errno;
 
        DEBUG(packager->ctx, "Generated package metadata:\n%s\n", buffer);
 
        // Write buffer
-       int r = pakfire_packager_write_file_from_buffer(packager, a,
-               ".PKGINFO", 0444, buffer);
-
+       r = pakfire_packager_write_file_from_buffer(packager, a, ".PKGINFO", 0444, buffer);
        free(buffer);
 
        return r;
index 5a22c6641ebcafe262da11892de56a69895c72c4..bd63130d9d7c678c8a0ddb50ac72d44153798a55 100644 (file)
@@ -48,8 +48,7 @@ static int test_create(const struct test* t) {
 
        // Write archive
        FILE* f = test_mktemp(NULL);
-       r = pakfire_packager_finish(packager, f);
-       ASSERT(r == 0);
+       ASSERT_SUCCESS(pakfire_packager_finish(packager, f));
 
        // Everything passed
        r = EXIT_SUCCESS;