aplat

Documents structurés pour Unix
git clone git://git.asteride.xyz/~ldp/aplat.git
Journaux | Fichiers | Références | LISEZ-MOI | LICENCE

commit 9dc3383073a9768a27d5d569c292c9b161cf491e
parent 02c125bbf096650b9f2c9d72edfca18dc43295d5
Auteur: Selve <selve@asteride.xyz>
Date:   Sun, 19 Nov 2023 21:42:16 -0500

suppression de la validation en fin de fichier

Le programme cesse la lecture de l'entrée standard après l'interprétation de la
parenthèse fermante correspondant à la première parenthèse ouvrante. Il n'est
donc plus nécessaire d'envoyer manuellement un ^D lorsque l'entrée standard est
connectée au terminal. En revanche un fichier invalide pourra être interprété
sans problème.

Diffstat:
Maplat.c | 17++---------------
1 file changed, 2 insertions(+), 15 deletions(-)

diff --git a/aplat.c b/aplat.c @@ -126,14 +126,14 @@ ctn: ferm: if (--prfd == 0) - goto fin; + return 0; assert(prfd > 0); while (tp_etq_rec(&etq) != ETQ_SEP_REL) { draps |= DRAP_FRM; afficher_ligne(&etq, &ctn, &draps); if (--prfd == 0) - goto fin; + return 0; } switch (prch_jeton(f, &ctn, TP_TYPE_CTN)) { @@ -150,19 +150,6 @@ ferm: } assert(0); -fin: - switch (prch_jeton(f, &etq, TP_TYPE_ETQ)) { - case EOF: - return 0; - case '(': case ')': - goto deseq; - default: - fprintf(stderr, - "%s: le dernier caractère affichable doit être « ) »\n", - nom_prog); - return -1; - } - deseq: fprintf(stderr, "%s: parenthèses déséquilibrées\n", nom_prog); return -1;