Exemplo n.º 1
0
void Compression::decompress_huffman() {
    PrefixCodes codes;

    read_prefix_codes(reader, codes);
    print(codes);
    BinaryTree tree(codes);

    write_decompressed_file(reader, writer, tree);
}
Exemplo n.º 2
0
/* Decompresses the huff file and writes out the original file */
void decompress(unsigned char* file_pointer, unsigned long long file_length, char* filename)
{
    if(!check_format(file_pointer, file_length, filename))
    {
        printf("Can't decompress a non-huff file.\n");
        exit(-1);
    }

    unsigned long long start_of_compressed;
    char* mapping = get_mapping_from_file(file_pointer, file_length, &start_of_compressed);
    write_decompressed_file(file_pointer, file_length, filename, mapping, start_of_compressed);
    free(mapping);
}