t_tree *create_tree(t_order *commande, t_order *last_order) { t_order *bigger; t_tree *current; static int i = 0; if (last_order == NULL) i = 0; else if (i++ > 500) return (NULL); if (!commande) return (NULL); if ((bigger = get_bigger(commande)) == NULL || bigger == last_order) return (NULL); current = tree_pop_node(bigger); current->left = create_tree(commande, bigger); current->right = create_tree(bigger->next, bigger); return (current); }
void re_size_column(int signo) { struct winsize s; t_data *data; data = NULL; if (signo == SIGWINCH) { if (!g_argv) return ; if (!(data = alloc_memory(data, s))) return ; ioctl(0, TIOCGWINSZ, &s); data = get_column(data, g_argv, (s.ws_row - 2)); if (g_pos) data->pos = g_pos; ft_putstr(CLEAR_SCREEN); if (check_column_size(data, s.ws_col)) print_columns(data, 0, 0, get_bigger(data)); else ft_putstr("Windows size is too small !\n"); } }