Exemplo n.º 1
0
char        	*cd_cleanpath(char *path)
{
	t_dlist		*lst;
	t_dlist		*clean;
	char      	cpath[2048];
	char      	*pref;

	if (!ft_strcmp("-", path))
	{
		if (!(path = ft_getenv("OLDPWD")))
			cd_exit("OLDPWD needed in the environment");
		return (ft_strdup(path));
	}
	else if (*path != '/')
	{
		if (!(pref = ft_getenv("PWD")))
		cd_exit("PWD needed in the environment");
		ft_sprintf(cpath, "%s/%s/", pref, path);
	}
	else
		ft_sprintf(cpath, "%s/", path);
	if (!(lst = makelst(cpath)))
		return (NULL);
	if (!(clean = ft_dlstmap(lst, cleanlst)))
		return (NULL);
	ft_dlstdel(&lst, NULL);
	clean = cleanlstparent(clean);
	return (convertlst(&clean));
}
Exemplo n.º 2
0
static char			*clean(char *path, char *cpath)
{
	t_dlist			*lst;
	t_dlist			*clean;

	if (!(lst = makelst(cpath)))
	{
		ft_error("Memory allocation failed");
		return (NULL);
	}
	if (!(clean = ft_dlstmap(lst, cleanlst)))
	{
		ft_error("Memory allocation failed");
		return (NULL);
	}
	ft_dlstdel(&lst, NULL);
	clean = cleanlstparent(clean);
	return (convertlst(&clean));
	(void)path;
}
Exemplo n.º 3
0
int					main(int argc, char **argv)
{
	int				x;
	int				i;

	i = 1;
	x = 0;
	if (argc == 1)
		error(argv[0]);
	ard = lst_new();
	ard = makelst(ard, argc, argv, 1);
	ft_select(ard);
	i = 0;
	while (i < (int)ard->len)
	{
		if (ard->start->bol == 2 || ard->start->bol == 3)
				printr(ard->start->str, x++, ft_celement(ard));
		ard->start = ard->start->next;
		i++;
	}
	return (0);
}