| 96 | } |
| 97 | |
| 98 | static int writer_write_header(struct reftable_writer *w, uint8_t *dest) |
| 99 | { |
| 100 | memcpy(dest, "REFT", 4); |
| 101 | |
| 102 | dest[4] = writer_version(w); |
| 103 | |
| 104 | reftable_put_be24(dest + 5, w->opts.block_size); |
| 105 | reftable_put_be64(dest + 8, w->min_update_index); |
| 106 | reftable_put_be64(dest + 16, w->max_update_index); |
| 107 | if (writer_version(w) == 2) { |
| 108 | uint32_t hash_id; |
| 109 | |
| 110 | switch (w->opts.hash_id) { |
| 111 | case REFTABLE_HASH_SHA1: |
| 112 | hash_id = REFTABLE_FORMAT_ID_SHA1; |
| 113 | break; |
| 114 | case REFTABLE_HASH_SHA256: |
| 115 | hash_id = REFTABLE_FORMAT_ID_SHA256; |
| 116 | break; |
| 117 | default: |
| 118 | return -1; |
| 119 | } |
| 120 | |
| 121 | reftable_put_be32(dest + 24, hash_id); |
| 122 | } |
| 123 | |
| 124 | return header_size(writer_version(w)); |
| 125 | } |
| 126 | |
| 127 | static int writer_reinit_block_writer(struct reftable_writer *w, uint8_t typ) |
| 128 | { |
no test coverage detected