33 return (ft_strdup(str));
34 if (!str || str[0] !=
'~')
35 return (ft_strdup(str));
36 if (str[1] && str[1] !=
'/')
37 return (ft_strdup(str));
40 return (ft_strdup(str));
42 return (ft_strdup(home));
43 result = ft_strjoin(home, str + 1);
Environment variable management prototypes.
char * get_env_value(t_env *env_list, char *key)
Look up an environment variable's value by its key.
char * expand_variables(char *str, t_env *env_list, t_quote_type quote_type, int exit_status)
Expand all $VARIABLE in a string.
t_quote_type
Quote context of a token.
Environment variable (doubly linked list)
char * expand_full(char *str, t_env *env, t_quote_type qt, int exit_status)
Handles variable expansion and tilde expansion.
static char * expand_tilde(char *str, t_env *env_list, t_quote_type quote_type)
Expand leading ~ to $HOME.
Lexer, tokenizer, expander, and quote handling prototypes.