minishell/src/expander/expander_expand_dollar.c
2025-02-19 16:50:24 +01:00

48 lines
1.4 KiB
C

/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* expander_expand_dollar.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: qmennen <qmennen@student.codam.nl> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2025/02/19 15:05:58 by qmennen #+# #+# */
/* Updated: 2025/02/19 15:22:40 by qmennen ### ########.fr */
/* */
/* ************************************************************************** */
#include "minishell.h"
static int get_var_len(const char *source)
{
int i;
i = 1;
while (expander_character_valid(source[i]))
i++;
return (i);
}
int expander_expand_dollar(char *src, char *dest, int *j, t_list *variables)
{
int i;
int v_len;
t_environment *env;
i = 0;
v_len = 0;
if (variables && variables->content)
{
env = (t_environment *)variables->content;
v_len = ft_strlen(env->name);
while (env->value[i])
{
dest[(*j)++] = env->value[i++];
}
}
else
{
v_len = get_var_len(src);
}
return (v_len);
}