int main(int ac, char **av, char **env) { t_data data; if (env[0] == NULL) return (0); data.env = env; if (ac == 5) { ft_get_cmd(&data, av); ft_exec_cmd(&data); } return (0); }
void ft_read_command(char *buf, t_env *env) { char *cmd; char *arg; char *path; arg = ft_get_cmd(&cmd, buf); if (ft_check_bultins(cmd, arg, env)) exit(EXIT_SUCCESS); else if(ft_check_path(cmd, &path, env->path)) execve(path, cmd, env->env); else ft_not_found(cmd); }
int main(int ac, char **av, char **envp) { char **cmd; int i; int exit; av[ac] = 0; i = 0; g_envtmp = NULL; g_env = ft_tabdup(envp); set_signals(0); while (i < 2) { g_pid = 0; ft_putstr("$> "); cmd = ft_get_cmd(); exit = do_cmd(cmd, &i); ft_freetab(&cmd); } ft_freetab(&g_env); return (exit); }
void ft_exec(char ***envp) { char *line; t_list *tokens; char *trim; line = NULL; tokens = NULL; ft_prompt(*envp); line = ft_get_cmd(*envp); if (!line) return (ft_exec(envp)); trim = ft_strtrim(line); if (trim && !ft_strequ(trim, "")) { tokens = ft_tokenize(trim); free(trim); if (tokens) parse_cmd(tokens, envp); } return (ft_exec(envp)); }