/* ************************************************************************** */ /* LE - / */ /* / */ /* ft_process_arg.c .:: .:/ . .:: */ /* +:+:+ +: +: +:+:+ */ /* By: rbousset +:+ +: +: +:+ */ /* #+# #+ #+ #+# */ /* Created: 2019/11/01 18:47:30 by rbousset #+# ## ## #+# */ /* Updated: 2019/11/01 18:47:32 by rbousset ### #+. /#+ ###.fr */ /* / */ /* / */ /* ************************************************************************** */ #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 return (ft_exec(com)); return (0); }