Ejemplo n.º 1
0
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);
}
Ejemplo n.º 2
0
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");
	}
}