From 68817286ea39e5fbf6bc042a46f59cadb740b846 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matt=C3=A9o=20Delabre=20=E2=9C=8F?= Date: Sun, 20 Nov 2016 01:29:24 +0100 Subject: [PATCH] =?UTF-8?q?Corrections=20pour=20la=20d=C3=A9tection=20de?= =?UTF-8?q?=20l'EOF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- inc/buffer.h | 4 ++-- src/buffer.c | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) 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