diff options
| author | Charles Cabergs <me@cacharle.xyz> | 2020-10-09 16:13:50 +0200 |
|---|---|---|
| committer | Charles Cabergs <me@cacharle.xyz> | 2020-10-09 16:13:50 +0200 |
| commit | 00bce5ad1d5ac92d20617a9eb2647365bf87cab2 (patch) | |
| tree | aaad5cbb6cdb6372f5809d50cdc65b912695956f /src/preprocess/filename.c | |
| parent | e8075fcf93873149593ccd141f99d65a4db40f4f (diff) | |
| download | minishell-00bce5ad1d5ac92d20617a9eb2647365bf87cab2.tar.gz minishell-00bce5ad1d5ac92d20617a9eb2647365bf87cab2.tar.bz2 minishell-00bce5ad1d5ac92d20617a9eb2647365bf87cab2.zip | |
Splitting preprocessing, Added parsed error helper
Diffstat (limited to 'src/preprocess/filename.c')
| -rw-r--r-- | src/preprocess/filename.c | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/src/preprocess/filename.c b/src/preprocess/filename.c new file mode 100644 index 0000000..0470554 --- /dev/null +++ b/src/preprocess/filename.c @@ -0,0 +1,35 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* filename.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: cacharle <me@cacharle.xyz> +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2020/10/09 15:29:04 by cacharle #+# #+# */ +/* Updated: 2020/10/09 15:30:03 by cacharle ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "eval.h" +#include "lexer.h" +#include "minishell.h" + +int preprocess_filename(t_tok_lst **tokens, t_env env, char **filename) +{ + char **strs; + + if ((strs = preprocess(tokens, env)) == NULL || strs[0] == NULL) + { + free(strs); + return (EVAL_FATAL); + } + if (strs[1] != NULL) + { + errorf("%s: ambiguous redidrect\n", strs[1]); + ft_split_destroy(strs); + return (1); + } + *filename = strs[0]; + free(strs); + return (*filename == NULL ? EVAL_FATAL : 0); +} |
