t_dlist *ft_choose(char *arg, t_dlist *list) { int index; index = 0; while (arg[index] == ' ' || arg[index] == '\t' || arg[index] == '\n' || arg[index] == '\r') index++; if (ft_strncmp("cd", arg, 2) == 0) ft_run_cd(arg, list, NULL, NULL); else if (ft_strncmp("echo", arg, 4) == 0) ft_run_echo(arg, list); else if (ft_strncmp("setenv", arg, 6) == 0) ft_run_setenv(arg, list); else if (ft_strncmp("env", arg, 3) == 0) ft_display_list(list); else if (ft_strncmp("unsetenv", arg, 8) == 0) ft_run_unsetenv(arg + 8, list); else if (ft_strncmp("exit", arg, 4) == 0 && ft_strlen(arg) == 4) { ft_delete_list(&list); return (list); } else if (ft_check_arg(arg + index, list, 0, ft_boucle(arg)) == 0) ft_error(arg, 3); return (list); }
char *ft_amalias(int argc, char **argv, char **env) { t_center_ai *center; t_env_ai *environment; t_amalias *amalias; t_security *security; char *error; center = (t_center_ai *)malloc(sizeof(t_center_ai)); environment = (t_env_ai *)malloc(sizeof(t_env_ai)); amalias = (t_amalias *)malloc(sizeof(t_amalias)); security = (t_security *)malloc(sizeof(t_security)); error = (char *)malloc(sizeof(char) * 9); if (argc && argv && env && center && environment && amalias && security && error && ft_check_arg(argc, argv, env) == 1 && ft_save_arg(argc, argv, env, center) == 1) { ft_putstr_purple("\n\tWelcome to the Machine.\n\n"); center->link_to_env_ai = environment; center->link_to_security = security; center->link_to_amalias = amalias; error[9] = '\0'; center->error = error; ft_define_context(center); while (center->error == NULL) { ft_verify_master(center); ft_interact_with_master(center); ft_read_main_entry(center); ft_analyze_read_entry(center); ft_learn(center); ft_compute_answer(center); ft_revise_learn(center); ft_verify_the_laws(center); ft_react_to_environment(center); } if (center->error != NULL) { ft_putstr_blue("You are leaving Amalias A.I.O.S.\n"); return (center->error); } } else ft_putstr_red("Error While Engaging Amalias Engine.\n"); return (NULL); }