/* ************************************************************************** */ /* */ /* ::: :::::::: */ /* env3.c :+: :+: :+: */ /* +:+ +:+ +:+ */ /* By: erey-bet +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/02/17 17:25:09 by erey-bet #+# #+# */ /* Updated: 2023/02/21 14:09:42 by cchauvet ### ########.fr */ /* */ /* ************************************************************************** */ #include "libftx/libftx.h" #include "minishell.h" char *get_value(char *str) { char *s; int i; int start; s = ft_calloc(ft_strlen(str), sizeof(char)); start = get_index(str, '='); i = start; while (str[++i]) s[i - start - 1] = str[i]; return (s); } char *get_key(char *str) { char *s; int i; s = ft_calloc(ft_strlen(str), sizeof(char)); i = -1; while (str[++i] != '=') s[i] = str[i]; return (s); } int create_value_by_key_dup(char *key, char *value, t_list **env) { char *key_dup; char *value_dup; key_dup = ft_strdup(key); if (key_dup == NULL) { ft_eprintf("minishell: malloc failed\n"); return (1); } value_dup = ft_strdup(value); if (value_dup == NULL) { free(key); ft_eprintf("minishell: malloc failed\n"); return (1); } if (create_value_by_key(key_dup, value_dup, env)) return (1); return (0); }