Corrected huff.c bug

This commit is contained in:
2024-04-15 23:44:43 +05:30
parent 698ae9b22f
commit 2496d1c9b8
2 changed files with 4 additions and 3 deletions

View File

@@ -71,8 +71,9 @@ void CompressFile(FILE* input, BIT_FILE* output, int argc, char* argv[]) {
print_model(nodes, codes); print_model(nodes, codes);
compress_data(input, output, codes); compress_data(input, output, codes);
free( (char *) counts );
free( (char *) nodes );
free((char*)codes); free((char*)codes);
} }
void ExpandFile(BIT_FILE* input, FILE* output, int argc, char* argv[]) { 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++) { for (i = 0; i < 256; i++) {
nodes[i].count = (unsigned int)(counts[i] / max_count); 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; nodes[i].count = 1;
} }

View File

@@ -117,5 +117,5 @@ void print_ratios(char* input, char* output) {
printf("Output bytes: %ld\n", output_size); printf("Output bytes: %ld\n", output_size);
if (output_size == 0) if (output_size == 0)
output_size = 1; output_size = 1;
printf("Compression ratio: %d\n", ratio); printf("Compression ratio: %d%%\n", ratio);
} }