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:
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;