Normed out funtions

sorting out needed
This commit is contained in:
Tanguy MAZE
2020-01-25 17:27:02 +01:00
parent f094553b79
commit fdd37da7d0
6 changed files with 102 additions and 99 deletions

View File

@@ -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);
}