pakfire_package_dump_add_line(str, key, buffer);
}
+static void pakfire_package_dump_add_line_hex(char** str,
+ const char* key, const unsigned char* buffer, const size_t length) {
+ char* hex = __pakfire_hexlify(buffer, length);
+ if (!hex)
+ return;
+
+ pakfire_package_dump_add_line(str, key, hex);
+ free(hex);
+}
+
static void pakfire_package_dump_add_line_size(char** str, const char* key, size_t size) {
char buffer[128];
if (build_id)
pakfire_package_dump_add_line(&string, _("Build ID"), build_id);
- enum pakfire_digest_types digest = 0;
+ enum pakfire_digest_types digest_type = PAKFIRE_DIGEST_UNDEFINED;
+ size_t digest_length = 0;
// Digest
- const char* hexdigest = pakfire_package_get_hexdigest(pkg, &digest);
- switch (digest) {
- case PAKFIRE_DIGEST_SHA2_512:
- pakfire_package_dump_add_line(&string, _("SHA512 Digest"), hexdigest);
- break;
-
- case PAKFIRE_DIGEST_SHA2_256:
- pakfire_package_dump_add_line(&string, _("SHA256 Digest"), hexdigest);
- break;
-
- case PAKFIRE_DIGEST_SHA3_512:
- case PAKFIRE_DIGEST_SHA3_256:
- case PAKFIRE_DIGEST_BLAKE2B512:
- case PAKFIRE_DIGEST_BLAKE2S256:
- case PAKFIRE_DIGEST_UNDEFINED:
- break;
+ const unsigned char* digest = pakfire_package_get_digest(pkg,
+ &digest_type, &digest_length);
+ if (digest) {
+ switch (digest_type) {
+ case PAKFIRE_DIGEST_SHA2_512:
+ pakfire_package_dump_add_line_hex(&string,
+ _("SHA2-512 Digest"), digest, digest_length);
+ break;
+
+ case PAKFIRE_DIGEST_SHA2_256:
+ pakfire_package_dump_add_line_hex(&string,
+ _("SHA2-256 Digest"), digest, digest_length);
+ break;
+
+ case PAKFIRE_DIGEST_SHA3_512:
+ case PAKFIRE_DIGEST_SHA3_256:
+ case PAKFIRE_DIGEST_BLAKE2B512:
+ case PAKFIRE_DIGEST_BLAKE2S256:
+ case PAKFIRE_DIGEST_UNDEFINED:
+ break;
+ }
}
// Source package