J'ai pas la solution mais je me permet de reposter ton code plus proprement, peut-être que ça motivera certain à t'aider.
int shell_loop(char **argv, int count) {
char *buff = NULL, **av = NULL;
ssize_t result = 1, retour;
result = prompt(&buff), count++;
if (result == -1) {
free_p(1, buff);
return (1);
}
av = fillarguments(buff, " \t");
if (av[0] == NULL) {
free_p(1, buff), free_a(av);
return (0);
}
if (av[0][0] != '/') {
retour = checkBuiltins(av, buff, count);
if (retour == 0 || retour == 2) {
free_p(1, buff), free_a(av), retour == 0 ? (retour = 0) : (retour = 1);
return (retour);
}
if (!(findinthepath(av))) {
printerror(argv, count, av), free_p(1, buff), free_a(av);
return (2);
} else {
processus(argv, av, buff, count), free_p(2, *av, buff), free_a(av);
return (0);
}
}
if (processus(argv, av, buff, count) != 0) {
free_p(1, buff), free_a(av);
return (2);
}
free_p(1, buff), free_a(av);
return (0);
}
Message édité le 08 décembre 2021 à 19:40:14 par cybevil