]> git.ipfire.org Git - pakfire.git/commitdiff
digests: Redefine enum as bitmask
authorMichael Tremer <michael.tremer@ipfire.org>
Wed, 24 Aug 2022 10:09:48 +0000 (10:09 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Wed, 24 Aug 2022 10:09:48 +0000 (10:09 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/libpakfire/downloader.c
src/libpakfire/file.c
src/libpakfire/include/pakfire/digest.h
src/libpakfire/package.c
src/libpakfire/util.c

index 2fead72b0f15c1ec061ff3a24d44632ae468aa9d..1fbf337816ebd26380dda5216f0e695975e5a9be 100644 (file)
@@ -353,6 +353,9 @@ static struct pakfire_transfer* pakfire_downloader_create_transfer(
                case PAKFIRE_DIGEST_SHA256:
                        transfer->md = EVP_sha256();
                        break;
+
+               case PAKFIRE_DIGEST_UNDEFINED:
+                       break;
        }
 
        // Copy the expected digest
index 4aee3cc80cf2a7786c918a6635b88a0478ef7f07..54e393e26c0a2eb7e4b86a88cb962880031136c7 100644 (file)
@@ -490,6 +490,9 @@ PAKFIRE_EXPORT const unsigned char* pakfire_file_get_digest(
                                *length = sizeof(file->digests.sha256);
 
                        return file->digests.sha256;
+
+               case PAKFIRE_DIGEST_UNDEFINED:
+                       break;
        }
 
        return NULL;
@@ -518,6 +521,10 @@ PAKFIRE_EXPORT int pakfire_file_set_digest(struct pakfire_file* file,
                case PAKFIRE_DIGEST_SHA256:
                        memcpy(file->digests.sha256, digest, sizeof(file->digests.sha256));
                        break;
+
+               case PAKFIRE_DIGEST_UNDEFINED:
+                       errno = ENOTSUP;
+                       return 1;
        }
 
        return 0;
index 887148e2416ab77861a226eec964148e7e3e992b..5ed91ea7f4a4bffe81d65773d73fa07b929d9685 100644 (file)
@@ -23,8 +23,9 @@
 
 // Pakfire knows these digests
 enum pakfire_digest_types {
-       PAKFIRE_DIGEST_SHA256 = 1,
-       PAKFIRE_DIGEST_SHA512 = 2,
+       PAKFIRE_DIGEST_UNDEFINED = 0,
+       PAKFIRE_DIGEST_SHA256    = (1 << 0),
+       PAKFIRE_DIGEST_SHA512    = (1 << 1),
 };
 
 #ifdef PAKFIRE_PRIVATE
index 85eb978e8742cf93648ad8384b500668b820b5c8..4d4ca52f6e4acf3f373800910e926f5da9d0738f 100644 (file)
@@ -1148,6 +1148,9 @@ PAKFIRE_EXPORT char* pakfire_package_dump(struct pakfire_package* pkg, int flags
                        case PAKFIRE_DIGEST_SHA256:
                                pakfire_package_dump_add_line(&string, _("SHA256 Digest"), hexdigest);
                                break;
+
+                       case PAKFIRE_DIGEST_UNDEFINED:
+                               break;
                }
 
                // Source package
index a6ed6226fada12a490637836a4e1b862e91879db..569de67cc7050168661fe0dcb17fb9c3a0180efd 100644 (file)
@@ -479,6 +479,9 @@ size_t pakfire_digest_length(enum pakfire_digest_types digest) {
 
                case PAKFIRE_DIGEST_SHA256:
                        return 32;
+
+               case PAKFIRE_DIGEST_UNDEFINED:
+                       return 0;
        }
 
        return 0;