t_env *ft_init(char **env) { char *shlvl; t_env *e; if (!(e = (t_env *)malloc(sizeof(t_env)))) return (ERROR); if (!*env) { creat_env(&e->env); e->list = ft_create_list(e->env); } else { e->list = ft_create_list(env); shlvl = ft_itoa(ft_atoi(ft_check_var(e->list, "SHLVL")) + 1); ft_set(e->list, "SHLVL", shlvl); free(shlvl); e->env = conv_lst(e->list); } ft_init_line(&e); e->prompt = ft_strjoin(ft_check_var(e->list, "USER"), "$>"); e->shell = ft_strdup("MISHELL"); ft_putstr(e->prompt); return (e); }
static int init_heredoc(t_line *l, char *prompt) { ft_init_line(l, NULL); l->strcpy = NULL; l->sizeprompt = ft_strlen(prompt); l->line1 = l->largeur - l->sizeprompt; g_inheredoc = 1; g_inheredoc_2 = 0; if (ft_strcmp("heredoc> ", prompt) == 0) g_inheredoc_2 = 1; g_heredoc = l; return (0); }