From: Michael Tremer Date: Sun, 29 Dec 2024 19:58:48 +0000 (+0000) Subject: packager: Improve passing on error codes X-Git-Tag: 0.9.30~654 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e35f94870d2c0914c2b97da142718b030f636ecb;p=pakfire.git packager: Improve passing on error codes Signed-off-by: Michael Tremer --- diff --git a/src/libpakfire/compress.c b/src/libpakfire/compress.c index e3cca03cf..17a174fca 100644 --- a/src/libpakfire/compress.c +++ b/src/libpakfire/compress.c @@ -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; } diff --git a/src/libpakfire/file.c b/src/libpakfire/file.c index d33e728e3..390529f76 100644 --- a/src/libpakfire/file.c +++ b/src/libpakfire/file.c @@ -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); diff --git a/src/libpakfire/packager.c b/src/libpakfire/packager.c index f86410b45..3546fb3ae 100644 --- a/src/libpakfire/packager.c +++ b/src/libpakfire/packager.c @@ -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; diff --git a/tests/libpakfire/packager.c b/tests/libpakfire/packager.c index 5a22c6641..bd63130d9 100644 --- a/tests/libpakfire/packager.c +++ b/tests/libpakfire/packager.c @@ -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;