minishell/src/expander/expander_get_variable.c
2025-02-26 16:42:50 +01:00

31 lines
1.2 KiB
C

/* ************************************************************************** */
/* */
/* :::::::: */
/* expander_get_variable.c :+: :+: */
/* +:+ */
/* By: qmennen <qmennen@student.codam.nl> +#+ */
/* +#+ */
/* Created: 2025/02/19 13:59:03 by qmennen #+# #+# */
/* Updated: 2025/02/26 16:12:29 by whaffman ######## odam.nl */
/* */
/* ************************************************************************** */
#include "minishell.h"
t_environment *expander_get_var(const char *s, int idx, t_minishell *msh)
{
int i;
t_environment *env;
char *name;
i = 0;
while (expander_character_valid(s[idx + i]))
i++;
name = ft_substr_safe(msh, s, idx, i);
if (!name || !*name)
return (NULL);
env = environment_get(msh, name);
free_safe(msh, (void **)&name);
return (env);
}