/* ************************************************************************** */ /* */ /* ::: :::::::: */ /* exit.c :+: :+: :+: */ /* +:+ +:+ +:+ */ /* By: erey-bet +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/02/24 10:17:59 by erey-bet #+# #+# */ /* Updated: 2023/02/28 14:55:39 by erey-bet ### ########.fr */ /* */ /* ************************************************************************** */ #include "../minishell.h" static int error(int err, char *reason, char *problem) { ft_putstr_fd("minishell: exit ", 2); if (problem != NULL) { ft_putstr_fd(problem, 2); write(2, ": ", 3); } ft_putstr_fd(reason, 2); return (err); } int ft_exit(char **args) { int err; if (args[0] == NULL) return (0); err = ft_atoi_check(args[0]); if (err == 1) return (error(err, "numeric argument required", args[0])); if (args[1] != NULL) return (error(-1, "too many arguments", NULL)); if (err > 0) return(error(err, "numeric argument required", args[0])); return ((ft_atoi(args[0]) % 256 + 256) % 256); } /*int main(int argc, char *argv[]) { (void)argc; return(ft_exit(argv + 1, 1)); }*/