From 8a421600f465f54ef7b0c424f4cc1b4d535c7f32 Mon Sep 17 00:00:00 2001 From: Tanguy Maze Date: Wed, 25 Dec 2019 11:45:05 +0100 Subject: [PATCH] moved env functions to libft --- Makefile | 3 +- includes/minishell.h | 18 +---- libft/Makefile | 30 ++++--- libft/includes/libft.h | 19 ++++- libft/srcs/ft_envaddend.c | 31 ++++++++ libft/srcs/ft_envclean.c | 32 ++++++++ libft/srcs/ft_envdel.c | 25 ++++++ libft/srcs/ft_envdelelem.c | 23 ++++++ libft/srcs/ft_envgetelem.c | 23 ++++++ libft/srcs/ft_envnew.c | 29 +++++++ libft/srcs/ft_envtochar.c | 28 +++++++ libft/srcs/ft_envtotab.c | 41 ++++++++++ libft/srcs/ft_envupdate.c | 28 +++++++ libft/srcs/ft_strtrim.c | 4 +- srcs/cmd_echo.c | 2 +- srcs/cmd_env.c | 19 +++-- srcs/ms_env.c | 156 ------------------------------------- srcs/ms_ext.c | 12 +-- 18 files changed, 320 insertions(+), 203 deletions(-) create mode 100644 libft/srcs/ft_envaddend.c create mode 100644 libft/srcs/ft_envclean.c create mode 100644 libft/srcs/ft_envdel.c create mode 100644 libft/srcs/ft_envdelelem.c create mode 100644 libft/srcs/ft_envgetelem.c create mode 100644 libft/srcs/ft_envnew.c create mode 100644 libft/srcs/ft_envtochar.c create mode 100644 libft/srcs/ft_envtotab.c create mode 100644 libft/srcs/ft_envupdate.c delete mode 100644 srcs/ms_env.c diff --git a/Makefile b/Makefile index 1d31f6f..4d168e9 100644 --- a/Makefile +++ b/Makefile @@ -6,7 +6,7 @@ # By: tmaze +#+ +:+ +#+ # # +#+#+#+#+#+ +#+ # # Created: 2019/03/27 16:51:02 by tmaze #+# #+# # -# Updated: 2019/10/31 14:05:15 by tmaze ### ########.fr # +# Updated: 2019/12/06 09:59:47 by tmaze ### ########.fr # # # #******************************************************************************# @@ -43,7 +43,6 @@ SRC = main.c \ cmd_cd.c \ cmd_echo.c \ ms_exec.c \ - ms_env.c \ ms_ext.c OBJ = $(SRC:.c=.o) diff --git a/includes/minishell.h b/includes/minishell.h index 8045992..60a31b7 100644 --- a/includes/minishell.h +++ b/includes/minishell.h @@ -6,7 +6,7 @@ /* By: tmaze +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2018/11/18 13:12:34 by tmaze #+# #+# */ -/* Updated: 2019/11/10 20:57:46 by tmaze ### ########.fr */ +/* Updated: 2019/12/06 09:54:47 by tmaze ### ########.fr */ /* */ /* ************************************************************************** */ @@ -19,13 +19,6 @@ # define S_BIN 5 -typedef struct s_env -{ - char *key; - char *val; - struct s_env *next; -} t_env; - typedef struct s_builtin { char *cmd; @@ -38,15 +31,6 @@ int cmd_unsetenv(char **argv, t_env **env); int cmd_cd(char **argv, t_env **env); int cmd_echo(char **argv, t_env **env); -void ft_envdelelem(t_env **elem); -void ft_envdel(t_env **env); -t_env *ft_envnew(char *env); -t_env *ft_envaddend(t_env **alst, t_env *new); -t_env *ft_envgetelem(char *key, t_env *env); -char **ft_envtotab(t_env *env); -char *ft_envupdate(char *key, t_env *env, char *val); -void ft_envclean(t_env **env); - char **res_ext(char **argv, t_env *env); int exec_cmd(char **argv, t_env **env); diff --git a/libft/Makefile b/libft/Makefile index 337abf0..6957aea 100644 --- a/libft/Makefile +++ b/libft/Makefile @@ -6,7 +6,7 @@ # By: tmaze +#+ +:+ +#+ # # +#+#+#+#+#+ +#+ # # Created: 2018/04/07 12:47:06 by tmaze #+# #+# # -# Updated: 2019/03/27 17:46:28 by tmaze ### ########.fr # +# Updated: 2019/12/06 09:59:05 by tmaze ### ########.fr # # # #******************************************************************************# @@ -17,7 +17,7 @@ CCSTD = NAME = libft.a SRCS = ft_memalloc.c \ - ft_memdel.c \ + ft_memdel.c \ ft_memset.c \ ft_bzero.c \ ft_memcpy.c \ @@ -38,13 +38,13 @@ SRCS = ft_memalloc.c \ ft_iswhitespace.c \ ft_issign.c \ \ - ft_strnew.c \ - ft_strdel.c \ + ft_strnew.c \ + ft_strdel.c \ ft_strclr.c \ ft_striter.c \ ft_striteri.c \ ft_strmap.c \ - ft_strmapi.c \ + ft_strmapi.c \ ft_strequ.c \ ft_strnequ.c \ ft_strsub.c \ @@ -90,7 +90,7 @@ SRCS = ft_memalloc.c \ ft_putnbr_fd.c \ ft_putstrpad.c \ ft_putnbrpad.c \ - ft_putstrn.c \ + ft_putstrn.c \ ft_print_words_tables.c \ ft_putendl2.c \ ft_putendl_fd2.c \ @@ -123,8 +123,8 @@ SRCS = ft_memalloc.c \ ft_printf_tools_float.c \ ft_printf_tools_hexa.c \ ft_printf_tools_int.c \ - ft_printf_tools_lenght.c \ - ft_printf_tools_malloc_size.c \ + ft_printf_tools_lenght.c \ + ft_printf_tools_malloc_size.c \ ft_printf_tools_oct.c \ ft_printf_tools_prec_size.c \ ft_printf_tools_str.c \ @@ -136,7 +136,17 @@ SRCS = ft_memalloc.c \ ft_getline.c \ \ ft_sort_params.c \ - ft_realpath.c + ft_realpath.c \ + \ + ft_envaddend.c \ + ft_envclean.c \ + ft_envdel.c \ + ft_envdelelem.c \ + ft_envgetelem.c \ + ft_envnew.c \ + ft_envtochar.c \ + ft_envtotab.c \ + ft_envupdate.c SRCDIR = srcs OBJDIR = objs @@ -160,6 +170,6 @@ clean: fclean: clean rm -f $(NAME) - rm -rf $(OBJDIR) + rm -rf $(OBJDIR) re: fclean all diff --git a/libft/includes/libft.h b/libft/includes/libft.h index 8efb2a0..120dc20 100644 --- a/libft/includes/libft.h +++ b/libft/includes/libft.h @@ -6,7 +6,7 @@ /* By: tmaze +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2018/04/08 00:12:36 by tmaze #+# #+# */ -/* Updated: 2019/03/20 16:46:41 by tmaze ### ########.fr */ +/* Updated: 2019/12/06 09:57:17 by tmaze ### ########.fr */ /* */ /* ************************************************************************** */ @@ -119,6 +119,13 @@ typedef struct s_conv int str_size; } t_conv; +typedef struct s_env +{ + char *key; + char *val; + struct s_env *next; +} t_env; + /* ** Print functions */ @@ -364,4 +371,14 @@ int ft_getline(char **line); int ft_putendl2(char const *s); int ft_putendl_fd2(char const *s, int fd); +void ft_envdelelem(t_env **elem); +void ft_envdel(t_env **env); +t_env *ft_envnew(char *env); +t_env *ft_envaddend(t_env **alst, t_env *new); +t_env *ft_envgetelem(char *key, t_env *env); +char *ft_envtochar(t_env *env); +char **ft_envtotab(t_env *env); +void ft_envclean(t_env **env); +char *ft_envupdate(char *key, t_env *env, char *val);; + #endif diff --git a/libft/srcs/ft_envaddend.c b/libft/srcs/ft_envaddend.c new file mode 100644 index 0000000..bb91f12 --- /dev/null +++ b/libft/srcs/ft_envaddend.c @@ -0,0 +1,31 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_envaddend.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: tmaze +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2019/12/05 15:02:33 by tmaze #+# #+# */ +/* Updated: 2019/12/09 13:00:42 by tmaze ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "libft.h" + +t_env *ft_envaddend(t_env **alst, t_env *new) +{ + t_env *tmp; + + if (new == NULL) + return (NULL); + if (*alst == NULL) + *alst = new; + else + { + tmp = *alst; + while (tmp->next) + tmp = tmp->next; + tmp->next = new; + } + return (*alst); +} diff --git a/libft/srcs/ft_envclean.c b/libft/srcs/ft_envclean.c new file mode 100644 index 0000000..008094e --- /dev/null +++ b/libft/srcs/ft_envclean.c @@ -0,0 +1,32 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_envclean.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: tmaze +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2019/12/06 09:53:25 by tmaze #+# #+# */ +/* Updated: 2019/12/06 09:53:47 by tmaze ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "libft.h" + +void ft_envclean(t_env **env) +{ + t_env **it; + t_env *tmp; + + it = env; + while (*it) + { + if (ft_strequ((*it)->val, "")) + { + tmp = *it; + *it = tmp->next; + ft_envdelelem(&tmp); + } + else + it = &((*it)->next); + } +} diff --git a/libft/srcs/ft_envdel.c b/libft/srcs/ft_envdel.c new file mode 100644 index 0000000..47677c0 --- /dev/null +++ b/libft/srcs/ft_envdel.c @@ -0,0 +1,25 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_envdel.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: tmaze +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2019/12/05 14:51:20 by tmaze #+# #+# */ +/* Updated: 2019/12/09 13:00:46 by tmaze ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "libft.h" + +void ft_envdel(t_env **env) +{ + t_env *tmp; + + while (*env) + { + tmp = *env; + *env = (*env)->next; + ft_envdelelem(&tmp); + } +} diff --git a/libft/srcs/ft_envdelelem.c b/libft/srcs/ft_envdelelem.c new file mode 100644 index 0000000..059032f --- /dev/null +++ b/libft/srcs/ft_envdelelem.c @@ -0,0 +1,23 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_envdelelem.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: tmaze +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2019/12/05 14:43:45 by tmaze #+# #+# */ +/* Updated: 2019/12/09 13:00:45 by tmaze ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "libft.h" + +void ft_envdelelem(t_env **elem) +{ + if (elem) + { + ft_strdel(&((*elem)->key)); + ft_strdel(&((*elem)->val)); + ft_memdel((void**)elem); + } +} diff --git a/libft/srcs/ft_envgetelem.c b/libft/srcs/ft_envgetelem.c new file mode 100644 index 0000000..ebe461c --- /dev/null +++ b/libft/srcs/ft_envgetelem.c @@ -0,0 +1,23 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_envgetelem.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: tmaze +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2019/12/05 16:46:17 by tmaze #+# #+# */ +/* Updated: 2019/12/05 16:47:00 by tmaze ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "libft.h" + +t_env *ft_envgetelem(char *key, t_env *env) +{ + t_env *it; + + it = env; + while (it && !ft_strequ(it->key, key)) + it = it->next; + return (it); +} diff --git a/libft/srcs/ft_envnew.c b/libft/srcs/ft_envnew.c new file mode 100644 index 0000000..9994459 --- /dev/null +++ b/libft/srcs/ft_envnew.c @@ -0,0 +1,29 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_envnew.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: tmaze +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2019/12/05 14:54:55 by tmaze #+# #+# */ +/* Updated: 2019/12/05 17:12:59 by tmaze ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "libft.h" + +t_env *ft_envnew(char *env) +{ + t_env *ret; + int i; + + i = 0; + ret = NULL; + while (env[i] && env[i] != '=') + i++; + if (env[i] == '=' && (ret = (t_env*)ft_memalloc(sizeof(t_env))) != NULL) + if ((ret->val = ft_strsub(env, i + 1, ft_strlen(env) - i - 1)) == NULL + || (ret->key = ft_strsub(env, 0, i)) == NULL) + ft_envdelelem(&ret); + return (ret); +} diff --git a/libft/srcs/ft_envtochar.c b/libft/srcs/ft_envtochar.c new file mode 100644 index 0000000..4dc2b45 --- /dev/null +++ b/libft/srcs/ft_envtochar.c @@ -0,0 +1,28 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_envtochar.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: tmaze +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2019/12/05 17:28:25 by tmaze #+# #+# */ +/* Updated: 2019/12/09 13:00:44 by tmaze ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "libft.h" + +char *ft_envtochar(t_env *env) +{ + int size; + char *ret; + + size = ft_strlen(env->key) + ft_strlen(env->val) + 1; + if ((ret = ft_strnew(size)) != NULL) + { + ft_strlcpy(ret, env->key, size); + ft_strlcat(ret, "=", size); + ft_strlcat(ret, env->val, size); + } + return (ret); +} diff --git a/libft/srcs/ft_envtotab.c b/libft/srcs/ft_envtotab.c new file mode 100644 index 0000000..f8966bb --- /dev/null +++ b/libft/srcs/ft_envtotab.c @@ -0,0 +1,41 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_envtotab.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: tmaze +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2019/12/05 17:34:22 by tmaze #+# #+# */ +/* Updated: 2019/12/05 17:34:41 by tmaze ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "libft.h" + +char **ft_envtotab(t_env *env) +{ + t_env *it; + char *new; + char **ret; + int i; + + i = 0; + ret = NULL; + it = env; + while (it && (++i)) + it = it->next; + if ((ret = (char**)ft_memalloc(sizeof(char*) * (i + 1))) == NULL) + return (NULL); + it = env; + i = 0; + while (it) + { + if ((new = ft_envtochar(it)) == NULL) + ft_del_words_tables(&ret); + if (new == NULL) + break ; + ret[i++] = new; + it = it->next; + } + return (ret); +} diff --git a/libft/srcs/ft_envupdate.c b/libft/srcs/ft_envupdate.c new file mode 100644 index 0000000..54d6871 --- /dev/null +++ b/libft/srcs/ft_envupdate.c @@ -0,0 +1,28 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_envupdate.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: tmaze +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2019/12/05 19:10:38 by tmaze #+# #+# */ +/* Updated: 2019/12/05 19:10:52 by tmaze ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "libft.h" + +char *ft_envupdate(char *key, t_env *env, char *val) +{ + t_env *elem; + char *new; + + new = NULL; + if ((elem = ft_envgetelem(key, env)) != NULL) + if ((new = ft_strdup(val)) != NULL) + { + ft_strdel(&elem->val); + elem->val = new; + } + return (new); +} diff --git a/libft/srcs/ft_strtrim.c b/libft/srcs/ft_strtrim.c index fcfe047..a750d22 100644 --- a/libft/srcs/ft_strtrim.c +++ b/libft/srcs/ft_strtrim.c @@ -1,4 +1,4 @@ -/* ************************************************************************** */ +cf/* ************************************************************************** */ /* */ /* ::: :::::::: */ /* ft_strtrim.c :+: :+: :+: */ @@ -6,7 +6,7 @@ /* By: tmaze +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2018/04/07 17:00:34 by tmaze #+# #+# */ -/* Updated: 2018/04/10 14:15:23 by tmaze ### ########.fr */ +/* Updated: 2019/12/09 13:00:48 by tmaze ### ########.fr */ /* */ /* ************************************************************************** */ diff --git a/srcs/cmd_echo.c b/srcs/cmd_echo.c index 1f84d1e..fb8477c 100644 --- a/srcs/cmd_echo.c +++ b/srcs/cmd_echo.c @@ -14,9 +14,9 @@ int cmd_echo(char **argv, t_env **env) { - (void)env; int i; + (void)env; i = 1; while (argv[i]) ft_printf("%s ", argv[i++]); diff --git a/srcs/cmd_env.c b/srcs/cmd_env.c index 01eaa54..d8583c3 100644 --- a/srcs/cmd_env.c +++ b/srcs/cmd_env.c @@ -6,7 +6,7 @@ /* By: tmaze +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2019/09/20 14:33:48 by tmaze #+# #+# */ -/* Updated: 2019/11/08 21:55:51 by tmaze ### ########.fr */ +/* Updated: 2019/12/09 09:59:58 by tmaze ### ########.fr */ /* */ /* ************************************************************************** */ @@ -39,6 +39,14 @@ t_env *envcpy(t_env *env) return (cpy); } +int env_cleanup(t_env *env_cp, int code) +{ + ft_envdel(&env_cp); + if (code == 2) + ft_putstr_fd("minishell: env: Env copy error\n", 2); + return (code); +} + int cmd_env(char **argv, t_env **env) { int i; @@ -54,11 +62,7 @@ int cmd_env(char **argv, t_env **env) while (it) { if ((new = envcpy(it)) == NULL) - { - ft_envdel(&env_cp); - ft_putstr_fd("minishell: env: Env copy error\n", 2); - return (2); - } + return (env_cleanup(env_cp, 2)); ft_envaddend(&env_cp, new); it = it->next; } @@ -69,6 +73,5 @@ int cmd_env(char **argv, t_env **env) exec_cmd(argv + i, &env_cp); else put_env(env_cp); - ft_envdel(&env_cp); - return (0); + return (env_cleanup(env_cp, 0)); } diff --git a/srcs/ms_env.c b/srcs/ms_env.c deleted file mode 100644 index 4b31def..0000000 --- a/srcs/ms_env.c +++ /dev/null @@ -1,156 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ms_env.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: tmaze +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2019/09/20 11:43:53 by tmaze #+# #+# */ -/* Updated: 2019/11/10 20:49:35 by tmaze ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "minishell.h" - -void ft_envdelelem(t_env **elem) -{ - if (elem) - { - ft_strdel(&((*elem)->key)); - ft_strdel(&((*elem)->val)); - ft_memdel((void**)elem); - } -} - -void ft_envdel(t_env **env) -{ - t_env *tmp; - - while (*env) - { - tmp = *env; - *env = (*env)->next; - ft_envdelelem(&tmp); - } -} - -t_env *ft_envnew(char *env) -{ - t_env *ret; - int i; - - i = 0; - ret = NULL; - while (env[i] && env[i] != '=') - i++; - if (env[i] == '=' && (ret = (t_env*)ft_memalloc(sizeof(t_env))) != NULL) - if ((ret->val = ft_strsub(env, i + 1, ft_strlen(env) - i - 1)) == NULL - || (ret->key = ft_strsub(env, 0, i)) == NULL) - ft_envdelelem(&ret); - return (ret); -} - -t_env *ft_envaddend(t_env **alst, t_env *new) -{ - t_env *tmp; - - if (new == NULL) - return (NULL); - if (*alst == NULL) - *alst = new; - else - { - tmp = *alst; - while (tmp->next) - tmp = tmp->next; - tmp->next = new; - } - return (*alst); -} - -t_env *ft_envgetelem(char *key, t_env *env) -{ - t_env *it; - - it = env; - while (it && !ft_strequ(it->key, key)) - it = it->next; - return (it); -} - -char *ft_envtochar(t_env *env) -{ - int size; - char *ret; - - size = ft_strlen(env->key) + ft_strlen(env->val) + 1; - if ((ret = ft_strnew(size)) != NULL) - { - ft_strlcpy(ret, env->key, size); - ft_strlcat(ret, "=", size); - ft_strlcat(ret, env->val, size); - } - return (ret); -} - -char **ft_envtotab(t_env *env) -{ - t_env *it; - char *new; - char **ret; - int i; - - i = 0; - ret = NULL; - it = env; - while (it && (++i)) - it = it->next; - if ((ret = (char**)ft_memalloc(sizeof(char*) * (i + 1))) == NULL) - return (NULL); - it = env; - i = 0; - while (it) - { - if ((new = ft_envtochar(it)) == NULL) - ft_del_words_tables(&ret); - if (new == NULL) - break ; - ret[i++] = new; - it = it->next; - } - return (ret); -} - -char *ft_envupdate(char *key, t_env *env, char *val) -{ - t_env *elem; - char *new; - - new = NULL; - if ((elem = ft_envgetelem(key, env)) != NULL) - if ((new = ft_strdup(val)) != NULL) - { - ft_strdel(&elem->val); - elem->val = new; - } - return (new); -} - -void ft_envclean(t_env **env) -{ - t_env **it; - t_env *tmp; - - it = env; - while (*it) - { - if (ft_strequ((*it)->val, "")) - { - tmp = *it; - *it = tmp->next; - ft_envdelelem(&tmp); - } - else - it = &((*it)->next); - } -} diff --git a/srcs/ms_ext.c b/srcs/ms_ext.c index f764293..976aa38 100644 --- a/srcs/ms_ext.c +++ b/srcs/ms_ext.c @@ -67,11 +67,11 @@ char *resolve_complete_key(char *src, int *index, t_env *env) { t_env *tmp; char *ret; - + if ((tmp = search_key(env, src, *index + 1)) != NULL) { if ((ret = replace_env(src, tmp, ft_strlen(tmp->key) - + 1, *index)) != NULL) + + 1, *index)) != NULL) { ft_strdel(&src); src = ret; @@ -79,10 +79,10 @@ char *resolve_complete_key(char *src, int *index, t_env *env) return (src); } else - return return_null("minishell: memory error"); + return (return_null("minishell: memory error")); } else - return return_null("minishell: variable not found"); + return (return_null("minishell: variable not found")); } char **res_ext(char **av, t_env *env) @@ -97,8 +97,8 @@ char **res_ext(char **av, t_env *env) i[2] = 0; while (av[i[0]] && av[i[0]][i[2]]) { - if (av[i[0]][i[2]] == '~' && (tmp = ft_envgetelem("HOME", env)) - != NULL && (ret = replace_env(av[i[0]], tmp, 1, i[2])) != NULL) + if (av[i[0]][i[2]] == '~' && (tmp = ft_envgetelem("HOME", env)) + != NULL && (ret = replace_env(av[i[0]], tmp, 1, i[2])) != NULL) { ft_strdel(&av[i[0]]); av[i[0]] = ret;