#include #include #include #include int ft_process_arg(char *arg) { char **com; char *prev; uint8_t i; if (arg[0] == '\0') return (0); if (ft_strncmp(arg, "r", 1)) ft_history(arg); i = 0; com = ft_split(arg, ' '); while (com[i]) i++; if (!ft_strncmp(com[0], "exit", ft_strlen(com[0]))) return (ft_exit(com)); else if (!ft_strncmp(com[0], "echo", ft_strlen(com[0]))) return (ft_echo(com, i)); else if (!ft_strncmp(com[0], "pwd", ft_strlen(com[0]))) return (ft_pwd()); else if (!ft_strncmp(com[0], "r", 1)) { prev = ft_get_last_line(); ft_putendl(prev); ft_history("r"); ft_process_arg(prev); free(prev); } else if (!ft_strncmp(com[0], "./", 2)) ft_exec(com); else return (ft_error(com[0], 127)); return (0); }