From 58666172f45edbd6803dfda1c73809a6d469f5c5 Mon Sep 17 00:00:00 2001 From: Yurii Chechur Date: Tue, 24 Dec 2024 18:52:32 +0000 Subject: [PATCH] Update sk1/compressor.c --- sk1/compressor.c | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/sk1/compressor.c b/sk1/compressor.c index 679c26f..470c4bb 100644 --- a/sk1/compressor.c +++ b/sk1/compressor.c @@ -225,6 +225,26 @@ int compress_1(const char* input_file_name, const char* output_file_name) { // Функція для декомпресії за допомогою Хаффмана int decompress_1(const char* input_file_name, const char* output_file_name) { - // Декомпресія за допомогою Хаффмана потребує відновлення дерева та розшифровки бітових кодів - return 0; // Не реалізовано повністю + FILE* input = fopen(input_file_name, "rb"); + if (!input) return -1; + + // Načítanie kódovacej tabuľky a ďalších informácií + // (toto bude závisieť od vašej implementácie, kde ukladáte tieto informácie) + HuffmanTree* tree = load_huffman_tree(input); + if (!tree) return -1; + + FILE* output = fopen(output_file_name, "wb"); + if (!output) { + fclose(input); + return -1; + } + + // Dekódovanie dát a zapisovanie do výstupného súboru + decode_huffman(input, output, tree); + + fclose(input); + fclose(output); + + return 0; } +