1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
|
void loop(t_env *env2, char *buffer)
{
char *patate;
char **tab1;
int i;
i = 0;
tab1 = init(env2);
i = 0;
while (tab1[i] != NULL )
{
patate = malloc((my_strlen(tab1[i]) + my_strlen(buffer) + 1) * sizeof(char));
if (patate == NULL)
my_putstr_error("errreur amlloc");
patate[0] = '\0';
strcat(patate, *tab1);
del_char(patate, '=');
del_str(patate, "PATH");
strcat(patate, "/");
strcat(patate, buffer);
i++;
/* free(patate); */
}
/* while (patate[i] != '\0') */
/* i++; */
patate[i] = '\0';
verif(patate);
}
void prompt(t_env *env2)
{
char *buffer;
buffer = malloc(4096 * sizeof(char*));
if (buffer == NULL)
my_putstr_error("errreur amlloc");
else
{
my_putstr("$-->");
memset(&buffer[0], 0, 4096);
if (read(0, buffer, 4095) <= 0)
{
my_putstr("[ERROR]");
}
else
{
loop(env2, buffer);
}
}
}
char **init(t_env *env2)
{
char **tab;
env2->s1 = malloc(4096 * sizeof(char*));
env2->s1 = *my_getenv("PATH", env2->environ);
env2->s3 = malloc((env2->len) * sizeof(char**));
tab = malloc((cpt_word(env2->s1, ':') + 1) * sizeof(*tab));
tab = my_str_to_wordtab(*my_getenv("PATH", env2->environ), ':');
return (tab);
} |
Partager