void ft_processing(t_data *d, char *str) { t_lexer *lex; t_parser *parser; parser = NULL; lex = NULL; d->pipe = 0; if (!str) return ; ft_backup_termcap(d); ft_lexer(&lex, str); if (lex) { ft_parser(&parser, lex, 1); ft_free_lex(&lex); ft_process_tree(parser, d); ft_free_pars(&parser); } else ft_process(d, str); ft_reset_termcap(d); if (d->first) ft_free_list(d->first); }
int main( void ) { char buf[BUFF_SIZE]; extern char **environ; t_sh1 sh1; int call; // void *sign_f; // sign_f = ft_kill_them_all; ft_init(&sh1, environ); write(1, "> ", 2); // signal(SIGINT, sign_f); while (42) { buf[read(0, buf, (BUFF_SIZE + 1))] = '\0'; call = ft_parser(&sh1, buf); if (call == 1) { // printf("\n"); // debug_array(sh1.params); // printf("\n"); // printf("%s\n", sh1.command); // printf("\n"); // sleep(50); ft_execve(&sh1); } else write(1, "> ", 2); } return (0); }
int main(int argc, char **argv, char **env) { t_env e; if (!*env) return (ft_perror("Environnement indisponible.")); else if (!(argc - 1)) return (ft_perror("Usage: ./wolf3d [map]")); ft_parser(argv[1], &e); ft_init(&e); mlx_loop(e.mlx); return (0); }
void printselected(t_data *e, int q) { t_overview over; char *path; e->index_q = q; e->img = mlx_new_image(e->mlx_ptr, IMG_H, IMG_W); e->str = mlx_get_data_addr(e->img, &(e->bpp), &(e->sl), &(e->nd)); path = ft_strjoin("./samples/", e->path); over = ft_parser(path); render(e, over); ft_expose_hook(e); mlx_expose_hook(e->mlx_win, ft_expose_hook, e); free(path); }
void ft_go(char ***env) { char *tmp; char **path; t_list *arg; t_tree *tree; if (!(tmp = ft_getenv("PATH", *env))) path = ft_path(); else path = ft_strsplit(tmp, ':'); if ((arg = ft_parser(g_e.buff)) && (tree = ft_make_tree(arg))) { ft_exec(tree, path, env); ft_del_tree(tree); } ft_tabdel(path); free(path); }
static void lauch_execute_backquote(t_cmd *cmd, t_env *env, char *newcmd) { t_list *arg; t_env c_env; t_cmd c_cmd; t_dir c_dir; arg = NULL; init_copy_env(&c_env, &c_cmd, &c_dir); c_cmd.raw = ft_strdup(newcmd); c_cmd.split = NULL; c_env.var = env_lst_copy(env); c_env.nb = env->nb; c_cmd.paths = ft_tab_dup(cmd->paths); c_cmd.env = env_list_to_array(c_env.var, c_env.nb); arg = ft_parser(c_cmd.raw); ft_open_close(); ft_launcher(&arg, &c_cmd, &c_env, &c_dir); if (arg) ft_free_arg(&arg); ft_free_c_env(&c_env, &c_cmd, &c_dir); ft_open_close(); }