int free_tab(char ***tab) { int i; int len; i = 0; len = tbl_len(*tab); while (i < len) { free((*tab)[i]); i++; } free(*tab); return (0); }
int bi_echo(char **arg, t_duo **env) { int i; i = 1; (void)env; check_opt(arg, &i); if (tbl_len(arg) > 1) { while (arg && arg[i]) { ft_putstr_visible(arg[i]); if (arg[i + 1]) ft_putchar(' '); i++; } } ft_putchar('\n'); return (TRUE); }
int init_env(char **env, t_duo **env_cpy) { char **cpy; cpy = NULL; if (tbl_len(env) == 0) fill_path(&cpy); if (cpy) { *env_cpy = tbl_to_duo(cpy, '='); free_tab(&cpy); } else *env_cpy = tbl_to_duo(env, '='); if (env_cpy == NULL && *env_cpy == NULL) return (sh_error(FALSE, 6, NULL, NULL)); del_env(env_cpy, "OLDPWD"); savior_env(*env_cpy, TRUE); sh_lvl(); savior_env(*env_cpy, TRUE); return (TRUE); }