From 815689e72f8a98c542850dab1ab1e4d29d2c7eb3 Mon Sep 17 00:00:00 2001 From: y-syo Date: Sun, 9 Jun 2024 16:03:09 +0200 Subject: [PATCH] =?UTF-8?q?=E3=80=8C=F0=9F=8F=97=EF=B8=8F=E3=80=8D=20wip(e?= =?UTF-8?q?nv):=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;