void read_huffman_tables(huffman_tables_t* dst, input_func_t* input_func, void* userdata)
{
- size_t len = read_length(input_func, userdata);
+ size_t len = read_uint16(input_func, userdata);
assert(len > 2);
len -= 2;
for (unsigned elem = prefix_min; elem < prefix_max; ++elem) {
assert(tbl->lookup_table_codes[elem] == DEHUF_SLOW_PATH);
assert(tbl->lookup_table_length[elem] == DEHUF_SLOW_PATH);
- tbl->lookup_table_codes[elem] = k;
+ tbl->lookup_table_codes[elem] = tbl->codes[k];
tbl->lookup_table_length[elem] = length;
}
}