5 schtroumpf noir rencontre la schtroumpfette que se passe t-il?
This commit is contained in:
parent
b96b617e09
commit
7e0bbd1203
@ -6,17 +6,21 @@
|
|||||||
/* By: cchauvet <cchauvet@student.42angoulem +#+ +:+ +#+ */
|
/* By: cchauvet <cchauvet@student.42angoulem +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2023/02/14 14:27:08 by cchauvet #+# #+# */
|
/* Created: 2023/02/14 14:27:08 by cchauvet #+# #+# */
|
||||||
/* Updated: 2023/03/30 15:05:25 by erey-bet ### ########.fr */
|
/* Updated: 2023/03/31 20:42:17 by erey-bet ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
#include "./builtins_private.h"
|
#include "./builtins_private.h"
|
||||||
|
|
||||||
static int error(char *str)
|
static int error(char *str, char *to_free1, char *to_free2)
|
||||||
{
|
{
|
||||||
write(2, "bozoshell: export: `", 20);
|
write(2, "bozoshell: export: `", 20);
|
||||||
write(2, str, ft_strlen(str));
|
write(2, str, ft_strlen(str));
|
||||||
write(2, "': not a valid identifier\n", 26);
|
write(2, "': not a valid identifier\n", 26);
|
||||||
|
if (to_free1 != NULL)
|
||||||
|
free(to_free1);
|
||||||
|
if (to_free2 != NULL)
|
||||||
|
free(to_free2);
|
||||||
return (1);
|
return (1);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -55,8 +59,7 @@ int set_key_value_export(t_list **env, char *args, char **key, char **value)
|
|||||||
if (get_value_by_key(*key, env) == NULL)
|
if (get_value_by_key(*key, env) == NULL)
|
||||||
*value = ft_strdup(ft_strchr(args, '=') + 1);
|
*value = ft_strdup(ft_strchr(args, '=') + 1);
|
||||||
else
|
else
|
||||||
*value = ft_strjoin(get_value_by_key(*key, env),
|
*value = ft_strjoin(get_value_by_key(*key, env), ft_strchr(args, '=') + 1);
|
||||||
ft_strchr(args, '=') + 1);
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
*value = ft_strdup(ft_strchr(args, '=') + 1);
|
*value = ft_strdup(ft_strchr(args, '=') + 1);
|
||||||
@ -71,7 +74,7 @@ int add_export(t_list **env, char *args)
|
|||||||
if (ft_strchr(args, '=') != NULL)
|
if (ft_strchr(args, '=') != NULL)
|
||||||
{
|
{
|
||||||
if (set_key_value_export(env, args, &key, &value))
|
if (set_key_value_export(env, args, &key, &value))
|
||||||
return (error(args));
|
return (error(args, key, NULL));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -80,10 +83,10 @@ int add_export(t_list **env, char *args)
|
|||||||
if (value != NULL)
|
if (value != NULL)
|
||||||
value = ft_strdup(value);
|
value = ft_strdup(value);
|
||||||
if (possible_key(key) == 2)
|
if (possible_key(key) == 2)
|
||||||
return (error(key));
|
return (error(key, key, value));
|
||||||
}
|
}
|
||||||
if (!possible_key(key))
|
if (!possible_key(key))
|
||||||
return (error(args));
|
return (error(args, key, value));
|
||||||
create_value_by_key(key, value, env);
|
create_value_by_key(key, value, env);
|
||||||
return (0);
|
return (0);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user