int ft_setenv(t_sh *sh, t_cmd *cmd) { if (cmd) { if (!cmd->args[1]) ft_printenv(sh); else if (cmd->args[1] && cmd->args[2] && cmd->args[1][0] != '-') return (ft_setvar(sh, cmd->args[1], cmd->args[2])); else if (cmd->args[1] && !cmd->args[2] && cmd->args[1][0] != '-') return (ft_setvar(sh, cmd->args[1], NULL)); else return (-1); } return (-1); }
int ft_setenv(int ac, char **av) { if (!ac) ft_printenv(); else if (ac > 2) { ft_putendl_fd("setenv: Too many arguments.", 2); exit(1); } else if (ft_strchr(av[0], '=')) { ft_putendl_fd("setenv: Syntax Error.", 2); exit(1); } else if (ac == 2) ft_putenv(av[0], av[1]); else ft_putenv(av[0], ""); return (0); }