Utilisation des int 64 dans la décompression
This commit is contained in:
parent
deb22164d4
commit
e013dca1bc
|
@ -3,11 +3,13 @@
|
||||||
#include "display.h"
|
#include "display.h"
|
||||||
#include "decompress.h"
|
#include "decompress.h"
|
||||||
|
|
||||||
|
#include <stdint.h>
|
||||||
|
|
||||||
void decompress(FILE* source, FILE* dest) {
|
void decompress(FILE* source, FILE* dest) {
|
||||||
// ÉTAPE 1 : lecture du nombre de caractères originel. Cela permet
|
// ÉTAPE 1 : lecture du nombre de caractères originel. Cela permet
|
||||||
// d'ignorer les bits d'alignement en fin de fichier
|
// d'ignorer les bits d'alignement en fin de fichier
|
||||||
size_t original_count = 0;
|
uint64_t original_count = 0;
|
||||||
fread(&original_count, sizeof(size_t), 1, source);
|
fread(&original_count, sizeof(original_count), 1, source);
|
||||||
printVerbose("Lecture du nombre de caractères : %d.\n", original_count);
|
printVerbose("Lecture du nombre de caractères : %d.\n", original_count);
|
||||||
|
|
||||||
// ÉTAPE 2 : reconstruction de l'arbre à partir des données linéarisées
|
// ÉTAPE 2 : reconstruction de l'arbre à partir des données linéarisées
|
||||||
|
@ -23,7 +25,7 @@ void decompress(FILE* source, FILE* dest) {
|
||||||
// à l'arbre de Huffman reconstitué
|
// à l'arbre de Huffman reconstitué
|
||||||
printVerbose("\nLecture et interprétation des données compressées.\n");
|
printVerbose("\nLecture et interprétation des données compressées.\n");
|
||||||
char next_bit = getBuffer(&input);
|
char next_bit = getBuffer(&input);
|
||||||
size_t wrote_count = 0;
|
uint64_t wrote_count = 0;
|
||||||
|
|
||||||
while (next_bit != -1 && wrote_count < original_count) {
|
while (next_bit != -1 && wrote_count < original_count) {
|
||||||
HufTree current = tree;
|
HufTree current = tree;
|
||||||
|
|
Loading…
Reference in New Issue