void ft_init(void) { char buf[1024]; char histo_path[1024] = {0}; ioctl(1, TIOCGWINSZ, &g_ws); signal(SIGWINCH, ft_resize); g_env.alias_lst = NULL; g_env.quote_wait = 0; signal(SIGINT, SIG_IGN); g_env.pid_list = NULL; g_env.cut = NULL; g_env.histo = NULL; ft_get_alias_list(); if (tgetent(buf, ft_getenv(g_env.env, "TERM")) == -1) exit(EXIT_FAILURE); tcgetattr(0, &g_env.term); g_env.term.c_lflag &= ~(ICANON | ECHO | ISIG); g_env.term.c_cc[VMIN] = 1; g_env.term.c_cc[VTIME] = 0; tcsetattr(0, 0, &g_env.term); ft_strcpy(histo_path, ft_getenv(g_env.env, "HOME")); ft_strcat(histo_path, "/.42sh_histo"); g_env.histo_fd = open(histo_path, O_CREAT | O_RDWR, 0777); ft_get_history(); }
void ft_init(t_term *term) { char buf[1024]; g_env.alias_lst = NULL; g_env.quote_wait = 0; signal(SIGINT, SIG_IGN); g_env.pid_list = NULL; g_env.cut = NULL; g_env.histo = NULL; ft_get_alias_list(); if (tgetent(buf, ft_getenv(g_env.env, "TERM")) == -1) exit(EXIT_FAILURE); tcgetattr(0, term); term->c_lflag &= ~(ICANON); term->c_lflag &= ~(ECHO); term->c_lflag &= ~(ISIG); term->c_cc[VMIN] = 1; term->c_cc[VTIME] = 0; tcsetattr(0, 0, term); }