diff --git a/inc/buffer.h b/inc/buffer.h index 6b3ce31..5af8087 100644 --- a/inc/buffer.h +++ b/inc/buffer.h @@ -12,7 +12,7 @@ typedef struct WriteBuffer WriteBuffer; struct WriteBuffer { // Contient les données du tampon d'écriture, c'est-à-dire // les données en attente de vidage dans le fichier - char data; + int data; // Nombre de bits utilisés dans `data`. Si ce nombre vaut 8, // le tampon d'écriture est plein @@ -59,7 +59,7 @@ typedef struct ReadBuffer ReadBuffer; struct ReadBuffer { // Contient les données du tampon de lecture, c'est-à-dire // le dernier octet lu depuis le fichier - char data; + int data; // Numéro du prochain bit de `data` qui sera lu par `getBuffer` size_t next_bit; diff --git a/src/buffer.c b/src/buffer.c index a30aeba..060aab9 100644 --- a/src/buffer.c +++ b/src/buffer.c @@ -51,8 +51,8 @@ ReadBuffer createReadBuffer(FILE* file) { } char getBuffer(ReadBuffer* buffer) { - if (buffer->data == EOF) { - return EOF; + if (feof(buffer->source_file)) { + return -1; } // Lecture du n-ième bit dans le dernier octet lu