From f0a181315b176decef994d16ecb0377257439665 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Gu=C3=A9len?= Date: Sat, 15 Feb 2025 16:28:32 +0100 Subject: [PATCH] WIP: env: getting key and value from an envp entry --- src/env_get_set.c | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 src/env_get_set.c diff --git a/src/env_get_set.c b/src/env_get_set.c new file mode 100644 index 0000000..b72b7d9 --- /dev/null +++ b/src/env_get_set.c @@ -0,0 +1,46 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* env_get_set.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: jguelen +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2025/02/14 18:43:38 by jguelen #+# #+# */ +/* Updated: 2025/02/15 16:15:12 by jguelen ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "env_manip.h" + +/*Designed to get the parameter name for a certain line stored in an envp*/ +char *envp_get_key(char *line) +{ + char *key; + size_t key_len; + size_t i; + + key_len = 0; + if (!line || !(*line)) + return (NULL); + while (line[key_len] != '=') + key_len++; + key = malloc((key_len + 1) * sizeof(char)); + i = 0; + ft_memmove(key, line, key_len); + key[key_len] = '\0'; + return (key); +} + +/*Designed to get the value part of an envp entry*/ +char *envp_get_val(char *line) +{ + char *value_string; + char *tmp; + + tmp = ft_strchr(line, '='); + if (!tmp) + return (NULL); + tmp++; + value_string = ft_strdup(tmp); + return (value_string); +}