mirror of
https://github.com/KeyZox71/ft_minipowershell.git
synced 2025-05-12 23:48:46 +02:00
「🏗️」 wip(env): not tested, could not work
This commit is contained in:
18
src/env/env_cmd.c
vendored
18
src/env/env_cmd.c
vendored
@ -6,7 +6,7 @@
|
||||
/* By: mmoussou <mmoussou@student.42angouleme.fr +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2024/05/22 14:50:01 by mmoussou #+# #+# */
|
||||
/* Updated: 2024/05/27 13:11:07 by mmoussou ### ########.fr */
|
||||
/* Updated: 2024/06/09 16:02:05 by mmoussou ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
@ -16,7 +16,8 @@ int env_append(char *name, char *content, t_env *env)
|
||||
{
|
||||
char *new_content;
|
||||
|
||||
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);
|
||||
@ -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);
|
||||
|
Reference in New Issue
Block a user