(fix): fonctionne

This commit is contained in:
guamss 2023-06-28 11:19:41 +02:00
parent c197bbbdb4
commit 727e94e639

View File

@ -1,19 +1,22 @@
#include <stdlib.h>
#include <stdio.h> #include <stdio.h>
#include "../cmd/cmd.h" #include "../cmd/cmd.h"
#include <unistd.h>
int execute(cmd* input, char** env)
int execute(cmd** input, char** env)
{ {
for(int i=0; i++;input[i]!=NULL) for(int i=0; input[i]!=NULL; i++)
{ {
// création d'un processus enfant du programme // création d'un processus enfant du programme
cont int pid = fork(); const int pid = fork();
// pid de l'enfant est 0 // pid de l'enfant est 0
if (pid == 0) if (pid == 0)
{ {
// redirige la sortie standard vers un file descriptor // redirige la sortie standard vers un file descriptor
dup2(1, input.fd_out); dup2(1, input[i]->fd_out);
// on tue l'enfant (l'enfant devient la commande entrée par l'utilisateur) // on tue l'enfant (l'enfant devient la commande entrée par l'utilisateur)
execve(input[i].executable, input[i].args, env); execve(input[i]->executable, input[i]->args, env);
} }
} }
} }