// Checksum Stuff
-static int read_hexdigest(unsigned char* dst, size_t l, const char* src) {
- const char* p = src;
-
- for (unsigned int i = 0; i < l && *p; i++) {
- int r = sscanf(p, "%02X", (unsigned int*)&dst[i]);
- if (r != 1)
- return 1;
-
- p += 2;
- }
-
- return 0;
-}
-
static int pakfire_archive_add_chksum(struct pakfire_archive* archive, const char* path,
const unsigned char* digest_sha512, const unsigned char* digest_sha256) {
int r = 1;
int pakfire_read_file_into_buffer(FILE* f, char** buffer, size_t* len);
char* pakfire_hexlify(const char* digest, const size_t length);
+int pakfire_unhexlify(unsigned char* dst, size_t l, const char* src);
#define pakfire_path_join(dest, first, second) \
__pakfire_path_join(dest, sizeof(dest) - 1, first, second)
return s;
}
+int pakfire_unhexlify(unsigned char* dst, size_t l, const char* src) {
+ const char* p = src;
+
+ for (unsigned int i = 0; i < l && *p; i++) {
+ int r = sscanf(p, "%02X", (unsigned int*)&dst[i]);
+ if (r != 1)
+ return 1;
+
+ p += 2;
+ }
+
+ return 0;
+}
+
int pakfire_mkparentdir(const char* path, mode_t mode) {
int r;