Ejemplo n.º 1
0
static char		*build_pwd(char *str, char *pwd)
{
	int	i;
	int	size;

	size = 0;
	i = (*str == '~' || *str == '-') ? 1 : 0;
	while ((size = ft_strlenc(&str[i], '/')) != -1)
	{
		if (!size || (!ft_strncmp(&str[i], ".", size) && size == 1))
			i++;
		else if (!ft_strncmp(&str[i], "..", size) && size == 2)
		{
			pwd = ft_path_back(pwd, '/');
			if (!*pwd)
				*pwd = '/';
			i += size;
		}
		else
		{
			pwd = ft_strcat(pwd, "/");
			pwd = ft_strncat(pwd, &str[i], size);
			i += size;
		}
	}
	return (pwd);
}
Ejemplo n.º 2
0
void			ft_gnl_cut(char *ref, char **s1, char **s2)
{
	int		size1;
	int		size2;

	size1 = ft_strlenc(ref, '\n');
	size2 = ft_ban_neg(ft_strlen(ref) - size1 - 1);
	*s1 = ft_strsub(ref, 0, size1);
	*s2 = ft_strsub(ref, size1 + 1, size2);
	ft_strdel(&ref);
}