int main(void) { char *ptr; char *name; char **arg; while (1) { write(1, "$>", 2); get_next_line(0, &ptr); if (ft_strcmp(ptr, "exit") == 0) return (0); arg = ft_get_args(&ptr, &name); if (!ft_check_builtin(arg)) { if (!ft_run_cmd(name, arg)) { ft_putstr_fd(name, 2); ft_putendl_fd(": command not found", 2); } } free(name); ft_free(arg); } return (0); }
int ft_traitement(char *str) { int i; char *path; char **parsed; str = ft_formatting(str); i = ft_opera_handler(str); if (i >= 0) { ft_strdel(&str); return (i); } if (!(parsed = parse_command(str))) { ft_strdel(&str); return (-1); } i = ft_check_builtin(parsed); path = get_val("PATH"); if (i >= 0) g_status = g_listefonctions[i](parsed); else if (!ft_check_exe(parsed, path)) return (ft_not_found(&parsed, &str)); ft_arrfree(&parsed); ft_strdel(&str); return (1); }
int ft_checkpath(char *s, t_list **begin, t_param *param) { char *path; char **tmp; int i; i = 0; ft_check_builtin(s, begin); if ((path = get_env(g_env, "PATH")) == NULL) return (0); tmp = ft_strsplit(path, ':'); ft_process(tmp, s, i, begin); ft_clear(tmp); if (*begin != NULL) del_word(s, param, &STR); return (0); }