From 2496d1c9b86d5e53ffa10df4b15b83dbef8d26df Mon Sep 17 00:00:00 2001 From: Hizenberg Date: Mon, 15 Apr 2024 23:44:43 +0530 Subject: [PATCH] Corrected huff.c bug --- Huffman Coding/huff.c | 5 +++-- app/main-c.c | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/Huffman Coding/huff.c b/Huffman Coding/huff.c index bb928ce..2fd1999 100644 --- a/Huffman Coding/huff.c +++ b/Huffman Coding/huff.c @@ -71,8 +71,9 @@ void CompressFile(FILE* input, BIT_FILE* output, int argc, char* argv[]) { print_model(nodes, codes); compress_data(input, output, codes); + free( (char *) counts ); + free( (char *) nodes ); free((char*)codes); - } void ExpandFile(BIT_FILE* input, FILE* output, int argc, char* argv[]) { @@ -211,7 +212,7 @@ void scale_counts(unsigned long* counts, NODE* nodes) { for (i = 0; i < 256; i++) { nodes[i].count = (unsigned int)(counts[i] / max_count); - if (nodes[i].count = 0 && counts[i] != 0) + if (nodes[i].count == 0 && counts[i] != 0) nodes[i].count = 1; } diff --git a/app/main-c.c b/app/main-c.c index e992806..87fdb43 100644 --- a/app/main-c.c +++ b/app/main-c.c @@ -117,5 +117,5 @@ void print_ratios(char* input, char* output) { printf("Output bytes: %ld\n", output_size); if (output_size == 0) output_size = 1; - printf("Compression ratio: %d\n", ratio); + printf("Compression ratio: %d%%\n", ratio); } \ No newline at end of file