Ejemplo n.º 1
0
int		check_rest(t_get *get, char **rest, char **line)
{
	size_t	i;
	char	*tmp;

	i = -1;
	get->ret = 1;
	while (*rest && ++i < LEN(*rest))
	{
		if ((*rest)[i] == '\n')
		{
			if (i == 0 && *line && LEN(*line) == 0)
				manage_line(0, line, rest, i);
			else
				manage_line(1, line, rest, i);
			return (1);
		}
	}
	tmp = *line;
	*line = JOIN(*line, *rest);
	if (*line == NULL)
		*line = SDUP(*rest);
	REMOVE(&tmp);
	REMOVE(rest);
	return (0);
}
Ejemplo n.º 2
0
Archivo: main.c Proyecto: Erwanito/42sh
void	start(char *line, char ***env)
{
	int		i;
	t_line	*tree;
	char	**split;

	if (line && line[0])
	{
		i = 0;
		split = ft_strsplit(line, ';');
		while (split[i])
		{
			tree = new_link(0, NULL);
			manage_line(split[i], tree, env);
			free_postfix(tree);
			i++;
		}
		free_tab_2d(&split);
	}
	if (line)
		free(line);
}