int op_i(t_env **env, char **args, int i[2]) { char *var[2]; var[0] = "*"; var[1] = NULL; b_unsetenv(env, NULL, var, 0); if (!args[i[0] + 1]) no_option(env, '\n'); return (EXIT_SUCCESS); }
int op_u(t_env **env, char **args, int i[2]) { char *var[2]; i[0]++; if (!args[i[0]] || !args[i[0]][0]) { fprintf(stderr, "%s%s", NEEDS_ARG1, NEEDS_ARG2); return (EXIT_FAILURE); } var[0] = args[i[0]]; var[1] = NULL; b_unsetenv(env, NULL, var, 0); if (!args[i[0] + 1]) no_option(env, '\n'); return (EXIT_SUCCESS); }
void valid_builtin(t_init *init) { init->s = ft_strtrim(init->s); if (!(ft_strcmp(init->s, "env"))) disp_env(init->tmpenv); else if (!(ft_strncmp(init->s, "setenv", 6))) b_setenv(init); else if (!(ft_strncmp(init->s, "unsetenv", 8))) b_unsetenv(init); else if (!(ft_strncmp(init->s, "cd", 2))) change_dir(init->s, init->tmpenv); else if (!(ft_strcmp(init->s, "pwd"))) disp_pwd(init->tmpenv); else if (!(ft_strcmp(init->s, "exit"))) go_exit(init); else foork(init->tmpenv, init->s); }