From cfa25ea7bf68181a625e739fb6f830cf015231ae Mon Sep 17 00:00:00 2001 From: Philippe Pittoli Date: Thu, 27 Oct 2011 18:25:05 +0200 Subject: [PATCH] bof --- C_Language/voir.c | 86 +++++++++++++++++++++++------------------------ 1 file changed, 43 insertions(+), 43 deletions(-) diff --git a/C_Language/voir.c b/C_Language/voir.c index b76f444..127f91e 100644 --- a/C_Language/voir.c +++ b/C_Language/voir.c @@ -11,49 +11,49 @@ int main(int argc, char **argv) { -int p[2],pid; + int p[2],pid; -if(argc < 2) -{ - perror("erreur argument"); - exit(-1); -} - -if(pipe(p) == -1) -{ - perror("erreur creation tube "); - exit(-2); -} - -pid=fork(); // creation du proc. fils - -switch(pid ) -{ - case -1: - perror("fork1"); - exit(-3); - break; - - case 0 : // le fils traite la commande - - close(1); - dup(p[1]); // on recupere forcement le desc. 1 (+ petit possible) - close(p[0]); - close(p[1]); - execvp(argv[1],argv+1); - printf("\n*** erreur exec. impossible!"); - exit(-4); - - default: // le pere fait le "more" - - close(0); // on ferme entree standard - dup(p[0]); // on connecte l'entree standard au tube - close(p[0]); // pour blocage en lecture - close(p[1]); - execlp("more","more",0); // si on saisit More par exemple -> message erreur - printf("\nerreur execution more \n"); - exit(-5); -} -exit(0); // on ne vient jamais ici + if(argc < 2) + { + perror("erreur argument"); + exit(-1); + } + + if(pipe(p) == -1) + { + perror("erreur creation tube "); + exit(-2); + } + + pid=fork(); // creation du proc. fils + + switch(pid ) + { + case -1: + perror("fork1"); + exit(-3); + break; + + case 0 : // le fils traite la commande + + close(1); + dup(p[1]); // on recupere forcement le desc. 1 (+ petit possible) + close(p[0]); + close(p[1]); + execvp(argv[1],argv+1); + printf("\n*** erreur exec. impossible!"); + exit(-4); + + default: // le pere fait le "more" + + close(0); // on ferme entree standard + dup(p[0]); // on connecte l'entree standard au tube + close(p[0]); // pour blocage en lecture + close(p[1]); + execlp("more","more",0); // si on saisit More par exemple -> message erreur + printf("\nerreur execution more \n"); + exit(-5); + } + exit(0); // on ne vient jamais ici }