From 815689e72f8a98c542850dab1ab1e4d29d2c7eb3 Mon Sep 17 00:00:00 2001 From: y-syo Date: Sun, 9 Jun 2024 16:03:09 +0200 Subject: [PATCH 1/2] =?UTF-8?q?=E3=80=8C=F0=9F=8F=97=EF=B8=8F=E3=80=8D=20w?= =?UTF-8?q?ip(env):=20not=20tested,=20could=20not=20work?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/env/env_cmd.c | 18 +++++++++++------- src/parsing/split_cmd.c | 6 ++---- 2 files changed, 13 insertions(+), 11 deletions(-) diff --git a/src/env/env_cmd.c b/src/env/env_cmd.c index af4f0e7..4fcf193 100644 --- a/src/env/env_cmd.c +++ b/src/env/env_cmd.c @@ -6,7 +6,7 @@ /* By: mmoussou name, name)) + while (env && ft_strncmp(env->name, name, + max(ft_strlen(env->name), ft_strlen(name)))) env = env->next; if (!env) return (-1); @@ -33,7 +34,8 @@ int env_append(char *name, char *content, t_env *env) int env_edit(char *name, char *content, t_env *env) { - while (env && ft_strcmp(env->name, name)) + while (env && ft_strncmp(env->name, name, + max(ft_strlen(env->name), ft_strlen(name)))) env = env->next; if (!env) return (-1); @@ -46,7 +48,8 @@ int env_delete(char *name, t_env *env) { t_env *tmp; - if (!ft_strcmp(env->name, name)) + if (!ft_strncmp(env->name, name, + max(ft_strlen(env->name), ft_strlen(name)))) { ft_free("cc", &env->name, &env->content); env->name = env->next->name; @@ -54,7 +57,8 @@ int env_delete(char *name, t_env *env) env->next = env->next->next; return (0); } - while (env && env->next && ft_strcmp(env->next->name, name)) + while (env && env->next && ft_strncmp(env->next->name, name, + max(ft_strlen(env->next->name), ft_strlen(name)))) env = env->next; if (!env || !env->next) return (-1); @@ -65,9 +69,9 @@ int env_delete(char *name, t_env *env) return (0); } -char *env_get_value(char *name, t_env *env) +char *env_getn_value(char *name, t_env *env, int n) { - while (env && ft_strcmp(env->name, name)) + while (env && ft_strncmp(env->name, name, n)) env = env->next; if (env) return (env->content); diff --git a/src/parsing/split_cmd.c b/src/parsing/split_cmd.c index 6422f07..3cda89c 100644 --- a/src/parsing/split_cmd.c +++ b/src/parsing/split_cmd.c @@ -3,10 +3,10 @@ /* ::: :::::::: */ /* split_cmd.c :+: :+: :+: */ /* +:+ +:+ +:+ */ -/* By: adjoly +#+ +:+ +#+ */ +/* By: mmoussou cmd = ft_strdup(*split); cmd->argv = split; From 0266cee5cb01cc5eaa8b016e193df6ca2d4ec273 Mon Sep 17 00:00:00 2001 From: y-syo Date: Mon, 10 Jun 2024 17:03:14 +0200 Subject: [PATCH 2/2] =?UTF-8?q?=E3=80=8C=F0=9F=94=A8=E3=80=8D=20fix(env=5F?= =?UTF-8?q?cmd):=20fixed=20strcmp=20and=20env=20cmds?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- include/env.h | 20 ++++++++++---------- libft/src/str/ft_strcmp.c | 4 ++-- src/env/env_cmd.c | 32 ++++++++++++++------------------ src/env/env_list/ft_envprint.c | 22 ++++++++++++++++++++++ 4 files changed, 48 insertions(+), 30 deletions(-) create mode 100644 src/env/env_list/ft_envprint.c diff --git a/include/env.h b/include/env.h index eb0d785..69a60c8 100644 --- a/include/env.h +++ b/include/env.h @@ -6,7 +6,7 @@ /* By: mmoussou name, name, - max(ft_strlen(env->name), ft_strlen(name)))) + while (env && ft_strcmp(env->name, name)) env = env->next; if (!env) return (-1); @@ -34,8 +33,7 @@ int env_append(char *name, char *content, t_env *env) int env_edit(char *name, char *content, t_env *env) { - while (env && ft_strncmp(env->name, name, - max(ft_strlen(env->name), ft_strlen(name)))) + while (env && ft_strcmp(env->name, name)) env = env->next; if (!env) return (-1); @@ -48,8 +46,7 @@ int env_delete(char *name, t_env *env) { t_env *tmp; - if (!ft_strncmp(env->name, name, - max(ft_strlen(env->name), ft_strlen(name)))) + if (!ft_strcmp(env->name, name)) { ft_free("cc", &env->name, &env->content); env->name = env->next->name; @@ -57,8 +54,7 @@ int env_delete(char *name, t_env *env) env->next = env->next->next; return (0); } - while (env && env->next && ft_strncmp(env->next->name, name, - max(ft_strlen(env->next->name), ft_strlen(name)))) + while (env && env->next && ft_strcmp(env->next->name, name)) env = env->next; if (!env || !env->next) return (-1); @@ -69,6 +65,15 @@ int env_delete(char *name, t_env *env) return (0); } +char *env_get_value(char *name, t_env *env) +{ + while (env && ft_strcmp(env->name, name)) + env = env->next; + if (env) + return (env->content); + return (NULL); +} + char *env_getn_value(char *name, t_env *env, int n) { while (env && ft_strncmp(env->name, name, n)) @@ -77,12 +82,3 @@ char *env_getn_value(char *name, t_env *env, int n) return (env->content); return (NULL); } - -void env_print(t_env *env) -{ - while (env) - { - printf("%s:%s\n", env->name, env->content); - env = env->next; - } -} diff --git a/src/env/env_list/ft_envprint.c b/src/env/env_list/ft_envprint.c new file mode 100644 index 0000000..a8ea42a --- /dev/null +++ b/src/env/env_list/ft_envprint.c @@ -0,0 +1,22 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_envprint.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: mmoussou name, env->content); + env = env->next; + } +}