diff options
| author | Charles <sircharlesaze@gmail.com> | 2020-06-14 21:26:36 +0200 |
|---|---|---|
| committer | Charles <sircharlesaze@gmail.com> | 2020-06-14 21:26:36 +0200 |
| commit | 91d91b0f54ec9795beaf673f20ff87b894a558c4 (patch) | |
| tree | bc6e084703bd677fcf4ca3ee82898688fc3e2ee7 /src/preprocess.c | |
| parent | 47fff4418d3a83ae214429f395232c3536ff03c4 (diff) | |
| download | minishell-91d91b0f54ec9795beaf673f20ff87b894a558c4.tar.gz minishell-91d91b0f54ec9795beaf673f20ff87b894a558c4.tar.bz2 minishell-91d91b0f54ec9795beaf673f20ff87b894a558c4.zip | |
WIP: Added eval cmd with redirection and builtins
Diffstat (limited to 'src/preprocess.c')
| -rw-r--r-- | src/preprocess.c | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/src/preprocess.c b/src/preprocess.c index 22f42ab..278e8ef 100644 --- a/src/preprocess.c +++ b/src/preprocess.c @@ -6,7 +6,7 @@ /* By: charles <charles.cabergs@gmail.com> +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2020/04/03 08:58:49 by charles #+# #+# */ -/* Updated: 2020/06/14 16:02:46 by charles ### ########.fr */ +/* Updated: 2020/06/14 21:25:05 by charles ### ########.fr */ /* */ /* ************************************************************************** */ @@ -113,6 +113,7 @@ static void st_iter_func_unwrap_token(void **addr) *(char**)addr = content; } +// need to free argv on error char **preprocess(t_ftlst *tokens, t_env env) { size_t i; @@ -157,3 +158,22 @@ char **preprocess(t_ftlst *tokens, t_env env) ft_vecpush(argv, NULL); return ((char**)ft_vecunwrap(argv)); } + +// need to free tokens +char *preprocess_filename(t_ftlst *tokens, t_env env) +{ + char **strs; + char *ret; + + if ((strs = preprocess(tokens, env)) == NULL + || strs[0] == NULL) + return (NULL); + if (strs[1] != NULL) + { + // ambiguous + return (NULL); + } + ret = strs[0]; + free(strs); + return (ret); +} |
