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/09/20 14:41:08 by tmaze #+# #+# */
/* Updated: 2019/11/02 23:10:32 by tmaze ### ########.fr */
/* Updated: 2019/11/10 21:38:30 by tmaze ### ########.fr */
/* */
/* ************************************************************************** */
@@ -15,20 +15,25 @@
int cmd_setenv(char **argv, t_env **env)
{
t_env *new;
t_env *tmp;
if (argv[1] && (new = lstnew(argv[1])) != NULL)
if (argv[1] && (new = ft_envnew(argv[1])) != NULL)
{
lstaddend(env, new);
if (argv[1] && (tmp = ft_envgetelem(new->key, *env)) != NULL)
{
ft_strdel(&(tmp->val));
tmp->val = new->val;
ft_strdel(&(new->key));
ft_memdel((void**)&new);
}
else
ft_envaddend(env, new);
ft_envclean(env);
return (0);
}
else if (argv[1])
{
else if (argv[1] && argv[1][0] != '=' && !ft_strchr(argv[1], '='))
ft_printf("minishell: setenv: memory error\n");
return (2);
}
else
{
ft_printf("usage: setenv [KEY]=[value]\n");
return (1);
}
return (1);
}