]> git.ipfire.org Git - pakfire.git/commitdiff
archive: Re-use function to compute digests wherever we need them
authorMichael Tremer <michael.tremer@ipfire.org>
Wed, 31 Aug 2022 16:01:29 +0000 (16:01 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Wed, 31 Aug 2022 16:01:29 +0000 (16:01 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/libpakfire/archive.c

index 103017843b697a403540a4704f1d889b21efa256..b5b7b719824e93e2aa94842ad56f8a1a192a0203 100644 (file)
@@ -882,16 +882,12 @@ int pakfire_archive_check_digest(struct pakfire_archive* archive,
 
 static int pakfire_archive_make_package_from_json(struct pakfire_archive* archive,
                struct pakfire_repo* repo, struct pakfire_package** package) {
-       struct pakfire_digests digests;
        int r;
 
        // Calculate digest
-       r = pakfire_digests_compute_from_file(archive->pakfire, &digests,
-               PAKFIRE_ARCHIVE_CHECKSUM, archive->f);
-       if (r) {
-               ERROR(archive->pakfire, "Could not calculate digest of %s: %m\n", archive->path);
+       r = pakfire_archive_compute_digests(archive);
+       if (r)
                return r;
-       }
 
        // Fetch the most basic package information
        const char* name = pakfire_archive_metadata_get(archive, "name", NULL);
@@ -916,11 +912,11 @@ static int pakfire_archive_make_package_from_json(struct pakfire_archive* archiv
        // Set digest
        switch (PAKFIRE_ARCHIVE_CHECKSUM) {
                case PAKFIRE_DIGEST_SHA2_512:
-                       pakfire_package_set_digest(pkg, PAKFIRE_ARCHIVE_CHECKSUM, digests.sha2_512);
+                       pakfire_package_set_digest(pkg, PAKFIRE_ARCHIVE_CHECKSUM, archive->digests.sha2_512);
                        break;
 
                case PAKFIRE_DIGEST_SHA2_256:
-                       pakfire_package_set_digest(pkg, PAKFIRE_ARCHIVE_CHECKSUM, digests.sha2_256);
+                       pakfire_package_set_digest(pkg, PAKFIRE_ARCHIVE_CHECKSUM, archive->digests.sha2_256);
                        break;
 
                case PAKFIRE_DIGEST_UNDEFINED:
@@ -1069,16 +1065,12 @@ ERROR:
 
 static int pakfire_archive_make_legacy_package(struct pakfire_archive* archive,
                struct pakfire_repo* repo, struct pakfire_package** package) {
-       struct pakfire_digests digests;
        int r;
 
        // Calculate digest
-       r = pakfire_digests_compute_from_file(archive->pakfire, &digests,
-               PAKFIRE_ARCHIVE_CHECKSUM, archive->f);
-       if (r) {
-               ERROR(archive->pakfire, "Could not calculate digest of %s: %m\n", archive->path);
+       r = pakfire_archive_compute_digests(archive);
+       if (r)
                return r;
-       }
 
        char* name = pakfire_archive_get(archive, "package", "name");
        char* arch = pakfire_archive_get(archive, "package", "arch");
@@ -1255,11 +1247,11 @@ static int pakfire_archive_make_legacy_package(struct pakfire_archive* archive,
        // Set digest
        switch (PAKFIRE_ARCHIVE_CHECKSUM) {
                case PAKFIRE_DIGEST_SHA2_512:
-                       pakfire_package_set_digest(pkg, PAKFIRE_ARCHIVE_CHECKSUM, digests.sha2_512);
+                       pakfire_package_set_digest(pkg, PAKFIRE_ARCHIVE_CHECKSUM, archive->digests.sha2_512);
                        break;
 
                case PAKFIRE_DIGEST_SHA2_256:
-                       pakfire_package_set_digest(pkg, PAKFIRE_ARCHIVE_CHECKSUM, digests.sha2_256);
+                       pakfire_package_set_digest(pkg, PAKFIRE_ARCHIVE_CHECKSUM, archive->digests.sha2_256);
                        break;
 
                case PAKFIRE_DIGEST_UNDEFINED: