| 206 | } |
| 207 | |
| 208 | char* encode(const char* input, struct tree** huffman_tree, |
| 209 | struct codebook* codebook) { |
| 210 | *huffman_tree = generate_tree(input); |
| 211 | *codebook = generate_codebook(*huffman_tree); |
| 212 | |
| 213 | char* result = duplicate(get_code(codebook, *input)); |
| 214 | |
| 215 | input += 1; |
| 216 | |
| 217 | for (; *input; ++input) { |
| 218 | concat(&result, get_code(codebook, *input)); |
| 219 | } |
| 220 | |
| 221 | return result; |
| 222 | } |
| 223 | |
| 224 | const char* decode_recurse(const char* input, const struct tree* tree, |
| 225 | char** result) { |
no test coverage detected