Bonjour,
Depuis hier matin je suis bloqué avec ma fonction affiche
. Celle-ci prend un argument une commande de l’utilisateur (par exemple : ls
) puis affiche sdout
et stderr
dans deux couleurs différentes. Le truc difficile c’est que sdout
et stderr
peuvent être entremêlé. Du coup je fais deux processus enfants chacun s’occupant de l’affichage de stdout
et stderr
. J’obtiens la fonction suivante :
ou afficheCouleur
affiche en couleur les données reçus par le descripteur de fichiers en argument (à l’aide de read
et write
) et ou executionCommande
execute la commande d’un utilisateur à l’aide de execvp
.
Le problème que j’ai c’est que par exemple si l’utilisateur rentre : ls
la fonction affiche
print deux fois le résultat de ls
en vert au lieu d’une. J’ai aussi l’impression que les erreurs s’affichent en vert et pas en rouge…
J’ai un peu tout essayé et je ne vois pas d’ou vient le problème. Je suppose que ça vient de mes pipes mais ou ?
Merci beaucoup.