feature: add cd built-in

This commit is contained in:
Tanguy Maze
2019-11-10 21:45:56 +01:00
parent e89ccb64b2
commit 4123c5dca3
9 changed files with 253 additions and 83 deletions

View File

@@ -6,7 +6,7 @@
/* By: tmaze <tmaze@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2019/10/25 18:21:47 by tmaze #+# #+# */
/* Updated: 2019/11/02 00:35:13 by tmaze ### ########.fr */
/* Updated: 2019/11/10 15:55:39 by tmaze ### ########.fr */
/* */
/* ************************************************************************** */
@@ -49,17 +49,17 @@ char **res_ext(char **argv, t_env *env)
{
i = 0;
while (argv[k] && argv[k][i]) {
if (i == 0 && argv[k][i] == '~' && lstgetelem("HOME", env)) {
if (i == 0 && argv[k][i] == '~' && ft_envgetelem("HOME", env)) {
res_len =
ft_strlen(argv[k]) - 1 + ft_strlen(lstgetelem("HOME", env)->val);
ft_strlen(argv[k]) - 1 + ft_strlen(ft_envgetelem("HOME", env)->val);
if ((ret = ft_strnew(res_len)) != NULL) {
ft_strcpy(ret, lstgetelem("HOME", env)->val);
ft_strcpy(ret, ft_envgetelem("HOME", env)->val);
if (ret[ft_strlen(ret) - 1] != '/')
ft_strcat(ret, "/");
ft_strcat(ret, argv[k] + 1);
ft_strdel(&(argv[k]));
argv[k] = ret;
i = ft_strlen(lstgetelem("HOME", env)->val);
i = ft_strlen(ft_envgetelem("HOME", env)->val);
} else {
ft_printf("minishell: memory error\n");
return (NULL);