Normed out funtions
sorting out needed
This commit is contained in:
@@ -6,7 +6,7 @@
|
||||
/* By: tmaze <tmaze@student.42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2019/10/25 18:21:47 by tmaze #+# #+# */
|
||||
/* Updated: 2020/01/24 00:23:59 by tmaze ### ########.fr */
|
||||
/* Updated: 2020/01/25 16:53:59 by tmaze ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
@@ -61,7 +61,7 @@ char *replace_env(char *src, t_env *elem, int key_size, int i)
|
||||
{
|
||||
ft_strlcpy(ret, src, i + 1);
|
||||
ft_strlcat(ret, elem->val, res_len + 1);
|
||||
ft_strlcat(ret, src + 1 + key_size, res_len + 1);
|
||||
ft_strlcat(ret, src + key_size, res_len + 1);
|
||||
}
|
||||
else
|
||||
ft_printf("minishell: memory error\n");
|
||||
@@ -94,21 +94,20 @@ char **res_ext(char **av, t_env *env)
|
||||
t_env *tmp;
|
||||
char *ret;
|
||||
|
||||
i[0] = 0;
|
||||
while (av && av[i[0]] && !(i[1] = 0))
|
||||
i[0] = -1;
|
||||
while (av && av[++i[0]] && !(i[1] = 0))
|
||||
{
|
||||
while (av[i[0]] && av[i[0]][i[1]])
|
||||
while (av[i[0]][i[1]])
|
||||
{
|
||||
if (av[i[0]][i[1]] == '~' && (tmp = ft_envgetelem("HOME", env))
|
||||
if (av[i[0]][i[1]] != '$' && av[i[0]][i[1]] != '~')
|
||||
i[1]++;
|
||||
else if (av[i[0]][i[1]] == '~' && (tmp = ft_envgetelem("HOME", env))
|
||||
!= NULL && (ret = replace_env(av[i[0]], tmp, 1, i[1])) != NULL)
|
||||
ft_strreplace(&av[i[0]], ret, &i[1], tmp);
|
||||
else if (av[i[0]][i[1]] == '$'
|
||||
&& resolve_complete_key(&av[i[0]], &i[1], env) == NULL)
|
||||
return (NULL);
|
||||
else if (av[i[0]][i[1]] != '$' && av[i[0]][i[1]] != '~')
|
||||
i[1]++;
|
||||
}
|
||||
i[0]++;
|
||||
}
|
||||
return (av);
|
||||
}
|
||||
|
Reference in New Issue
Block a user