/* ************************************************************************** */ /* */ /* ::: :::::::: */ /* exit.c :+: :+: :+: */ /* +:+ +:+ +:+ */ /* By: erey-bet +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/02/24 10:17:59 by erey-bet #+# #+# */ /* Updated: 2023/02/24 12:44:05 by erey-bet ### ########.fr */ /* */ /* ************************************************************************** */ #include "../minishell.h" static int error(int err, char *reason, char *problem, int fd) { write(fd, "bash: exit: ", 12); if (problem != NULL) { ft_putstr_fd(problem, fd); write(fd, ": ", 2); } ft_putstr_fd(reason, fd); write(fd, "\n", 1); return (err); } int ft_exit(char **args, int fd) { int i; if (args[0] == NULL) return (0); i = -1; if (ft_atoi_check(args[0]) == 0) return (error(2, "numeric argument required", args[0], fd)); if (args[1] != NULL) return (error(-1, "too many arguments", NULL, fd)); return (0); } int main(int argc, char *argv[]) { (void)argc; return(ft_exit(argv + 1, 1)); }