aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitmodules5
-rw-r--r--.travis.yml8
m---------minishell_test0
-rw-r--r--src/builtin/echo.c4
-rw-r--r--src/eval/redir.c3
-rw-r--r--src/main.c9
-rwxr-xr-xsrc/parse/parse.c4
7 files changed, 23 insertions, 10 deletions
diff --git a/.gitmodules b/.gitmodules
index f47fde7..690d5bf 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -2,3 +2,8 @@
path = libft
url = https://github.com/HappyTramp/libft
branch = minishell
+
+[submodule "minishell_test"]
+ path = minishell_test
+ url = https://github.com/HappyTramp/minishell_test
+ branch = master
diff --git a/.travis.yml b/.travis.yml
index 466a76c..3364a00 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,3 +1,9 @@
language: c
-script: make all
+git:
+ submodules: true
+
+python:
+ - "3.5"
+
+script: make all && cd minishell_test && python3 main.py
diff --git a/minishell_test b/minishell_test
new file mode 160000
+Subproject 9682ac83c4b685818bdaf222f813df044b3107f
diff --git a/src/builtin/echo.c b/src/builtin/echo.c
index 0c4ff8b..75a350c 100644
--- a/src/builtin/echo.c
+++ b/src/builtin/echo.c
@@ -6,7 +6,7 @@
/* By: charles <charles.cabergs@gmail.com> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2020/04/01 17:10:47 by charles #+# #+# */
-/* Updated: 2020/06/15 10:12:53 by charles ### ########.fr */
+/* Updated: 2020/06/15 14:26:30 by charles ### ########.fr */
/* */
/* ************************************************************************** */
@@ -27,7 +27,7 @@ int builtin_echo(char **argv, t_env env)
ft_putchar('\n');
return (0);
}
- newline = !ft_strcmp(argv[1], "-n") == 0;
+ newline = !(ft_strcmp(argv[1], "-n") == 0);
if (!newline)
argv++;
while (*++argv != NULL)
diff --git a/src/eval/redir.c b/src/eval/redir.c
index c6f98d4..5a9d074 100644
--- a/src/eval/redir.c
+++ b/src/eval/redir.c
@@ -6,7 +6,7 @@
/* By: charles <charles.cabergs@gmail.com> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2020/06/15 11:05:34 by charles #+# #+# */
-/* Updated: 2020/06/15 11:44:38 by charles ### ########.fr */
+/* Updated: 2020/06/15 16:00:40 by charles ### ########.fr */
/* */
/* ************************************************************************** */
@@ -50,6 +50,7 @@ bool redir_extract(
|| !(st_lst_tag(redirs->next) & TAG_IS_STR))
return (false);
curr = redirs->next;
+ after = NULL;
while (curr != NULL && st_lst_tag(curr) & TAG_IS_STR)
{
if (curr->next == NULL || st_lst_tag(curr->next) & TAG_IS_REDIR)
diff --git a/src/main.c b/src/main.c
index 3bbc58b..d1e3e50 100644
--- a/src/main.c
+++ b/src/main.c
@@ -6,7 +6,7 @@
/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2020/02/28 11:45:44 by cacharle #+# #+# */
-/* Updated: 2020/06/15 13:43:38 by charles ### ########.fr */
+/* Updated: 2020/06/15 17:27:21 by charles ### ########.fr */
/* */
/* ************************************************************************** */
@@ -42,14 +42,15 @@ int main(int argc, char **argv, char **envp)
{
t_ftlst *lex_out = lexer(ft_strdup(argv[2]));
- ft_lstiter(lex_out, token_debug);
+ /* ft_lstiter(lex_out, token_debug); */
t_ret *parser_out = parse(lex_out);
- printf("%p\n", parser_out->ast->cmd_argv);
- printf("%p\n", parser_out->ast->redirs);
+ /* printf("%p\n", parser_out->ast->cmd_argv); */
+ /* printf("%p\n", parser_out->ast->redirs); */
/* ft_lstiter(parser_out->ast->cmd_argv, token_debug); */
+ /* ft_lstiter(parser_out->ast->redirs, token_debug); */
int eval_out = eval_cmd(env, path, parser_out->ast);
(void)eval_out;
diff --git a/src/parse/parse.c b/src/parse/parse.c
index 87478ac..f2c4632 100755
--- a/src/parse/parse.c
+++ b/src/parse/parse.c
@@ -15,7 +15,7 @@ t_ret *parse(t_ftlst *input)
t_ret *ret;
t_ret *first;
enum e_token_tag tag;
- int i = 0;
+ /* int i = 0; */
if(!(ret = malloc(sizeof(t_ret) * 1)))
return(NULL);
@@ -42,7 +42,7 @@ t_ret *parse(t_ftlst *input)
if (ret->rest != NULL)
{
tag = ((t_token *)ret->rest->data)->tag;
- if(tag & TAG_IS_STR & TAG_STICK)
+ if ((tag & TAG_IS_STR) && (tag & TAG_STICK))
ret->ast = parse_redir(ret->ast, ret->rest);
}
}