diff options
Diffstat (limited to 'c_src')
-rw-r--r-- | c_src/permdb.c | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/c_src/permdb.c b/c_src/permdb.c index 218b8c8..ec540a5 100644 --- a/c_src/permdb.c +++ b/c_src/permdb.c @@ -153,7 +153,7 @@ static const uint64_t index_file_cookie = 0xb7e16b02ba8a6d1b; static const uint64_t index_commit_cookie = 0x2fb1778c74a402e4; static const uint64_t index_node_cookie = 0x2e0f555ad73210d1; -static const uint64_t data_file_cookie = 0xd53551ba539a4252; +static const uint64_t data_file_cookie = 0x99c99d588b1e7983; static const uint64_t data_entry_cookie = 0xe7c1cdc2ba3dc77c; static const uint64_t data_commit_start_cookie = 0x75c2e4b3d5f643a1; static const uint64_t data_commit_end_cookie = 0x2b05eed61b5af550; @@ -312,24 +312,24 @@ struct commit_info * read_data_commit(buffered_file *file, node_offset *offset) { const size_t length = - sizeof(uint32_t) + sizeof(uint64_t) + SHA256_DIGEST_SIZE + sizeof(data_commit_end_cookie); unsigned char *data = bf_read(file, *offset, length, NULL); if (data == NULL - || (read_be64(data + sizeof(uint32_t) + SHA256_DIGEST_SIZE) + || (read_be64(data + sizeof(uint64_t) + SHA256_DIGEST_SIZE) != data_commit_end_cookie)) { free(data); return NULL; } - *offset += sizeof(uint32_t); + *offset += sizeof(uint64_t); struct commit_info *commit = malloc(sizeof(struct commit_info)); dprintf(READ, (stderr, "read commit: %llu\n", (long long unsigned) *offset)); - dprinthex(READ, data, sizeof(uint32_t) + SHA256_DIGEST_SIZE); - commit->length = read_be32(data); + dprinthex(READ, data, sizeof(uint64_t) + SHA256_DIGEST_SIZE); + commit->length = read_be64(data); commit->start = *offset - commit->length; - memcpy(&commit->checksum, data + sizeof(uint32_t), SHA256_DIGEST_SIZE); + memcpy(&commit->checksum, data + sizeof(uint64_t), SHA256_DIGEST_SIZE); *offset += SHA256_DIGEST_SIZE + sizeof(data_commit_end_cookie); free(data); return commit; @@ -346,7 +346,7 @@ read_data_commit_forward(buffered_file *file, node_offset *offset) struct commit_info * read_data_commit_backward(buffered_file *file, node_offset *offset) { - *offset -= sizeof(uint32_t) + *offset -= sizeof(uint64_t) + SHA256_DIGEST_SIZE + sizeof(data_commit_end_cookie); return read_data_commit(file, offset); @@ -1111,10 +1111,10 @@ committree(permdb_object *state) unsigned char data_commit_checksum[SHA256_DIGEST_SIZE]; bf_add_be64(state->datafile, data_commit_start_cookie); bf_add(state->datafile, padding, data_commit_padding_size); - bf_add_be32(state->datafile, + bf_add_be64(state->datafile, bf_total_length(state->datafile) - bf_lastcommit(state->datafile) - + sizeof(uint32_t)); /* Including the length field. */ + + sizeof(uint64_t)); /* Including the length field. */ bf_sha256(state->datafile, data_commit_checksum); bf_add(state->datafile, data_commit_checksum, SHA256_DIGEST_SIZE); bf_add_be64(state->datafile, data_commit_end_cookie); |