From 2659b68d288e573a7954d1d7d9f3e7871f3a817d Mon Sep 17 00:00:00 2001 From: Jack Halford Date: Fri, 10 Mar 2017 13:13:12 +0100 Subject: [PATCH] issue #71 done (lexer problem) --- 42sh/includes/exec.h | 2 +- 42sh/src/exec/exec_reset.c | 2 +- 42sh/src/exec/process_resetfds.c | 7 +++++-- 42sh/src/history/add_str_in_history.c | 2 +- 42sh/src/lexer/get_state_redir.c | 2 +- 42sh/src/lexer/lexer_great.c | 6 +++--- 42sh/src/lexer/lexer_less.c | 4 +++- 42sh/src/lexer/lexer_number.c | 4 ++-- 42sh/src/main/main.c | 2 +- 9 files changed, 18 insertions(+), 13 deletions(-) diff --git a/42sh/includes/exec.h b/42sh/includes/exec.h index 1505a765..df7f3d02 100644 --- a/42sh/includes/exec.h +++ b/42sh/includes/exec.h @@ -6,7 +6,7 @@ /* By: jhalford +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2016/11/27 20:29:56 by jhalford #+# #+# */ -/* Updated: 2017/03/10 12:11:21 by jhalford ### ########.fr */ +/* Updated: 2017/03/10 13:10:03 by jhalford ### ########.fr */ /* */ /* ************************************************************************** */ diff --git a/42sh/src/exec/exec_reset.c b/42sh/src/exec/exec_reset.c index 51ef6d5d..fd0e7a66 100644 --- a/42sh/src/exec/exec_reset.c +++ b/42sh/src/exec/exec_reset.c @@ -6,7 +6,7 @@ /* By: jhalford +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2017/03/08 14:31:42 by jhalford #+# #+# */ -/* Updated: 2017/03/10 12:55:57 by jhalford ### ########.fr */ +/* Updated: 2017/03/10 13:13:49 by jhalford ### ########.fr */ /* */ /* ************************************************************************** */ diff --git a/42sh/src/exec/process_resetfds.c b/42sh/src/exec/process_resetfds.c index 127ccc10..7cfd2220 100644 --- a/42sh/src/exec/process_resetfds.c +++ b/42sh/src/exec/process_resetfds.c @@ -6,7 +6,7 @@ /* By: jhalford +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2017/03/09 14:51:23 by jhalford #+# #+# */ -/* Updated: 2017/03/10 12:51:38 by jhalford ### ########.fr */ +/* Updated: 2017/03/10 13:09:25 by jhalford ### ########.fr */ /* */ /* ************************************************************************** */ @@ -15,11 +15,14 @@ void process_resetfds(t_process *p) { t_exec *exec; + int i; (void)p; exec = &data_singleton()->exec; + i = 0; + while (i < 10) + close(i++); dup2(exec->fd_save[0], STDIN); - close(STDOUT); dup2(exec->fd_save[1], STDOUT); dup2(exec->fd_save[2], STDERR); } diff --git a/42sh/src/history/add_str_in_history.c b/42sh/src/history/add_str_in_history.c index f8fd0ccc..333f5225 100644 --- a/42sh/src/history/add_str_in_history.c +++ b/42sh/src/history/add_str_in_history.c @@ -6,7 +6,7 @@ /* By: gwojda +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2017/02/14 11:27:03 by gwojda #+# #+# */ -/* Updated: 2017/03/10 12:10:03 by gwojda ### ########.fr */ +/* Updated: 2017/03/10 12:59:26 by jhalford ### ########.fr */ /* */ /* ************************************************************************** */ diff --git a/42sh/src/lexer/get_state_redir.c b/42sh/src/lexer/get_state_redir.c index d4d60d3b..5ac62b6c 100644 --- a/42sh/src/lexer/get_state_redir.c +++ b/42sh/src/lexer/get_state_redir.c @@ -6,7 +6,7 @@ /* By: jhalford +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2017/02/09 20:37:28 by jhalford #+# #+# */ -/* Updated: 2017/02/24 20:44:40 by ariard ### ########.fr */ +/* Updated: 2017/03/10 13:12:51 by jhalford ### ########.fr */ /* */ /* ************************************************************************** */ diff --git a/42sh/src/lexer/lexer_great.c b/42sh/src/lexer/lexer_great.c index 333504a1..d47125f4 100644 --- a/42sh/src/lexer/lexer_great.c +++ b/42sh/src/lexer/lexer_great.c @@ -6,7 +6,7 @@ /* By: jhalford +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2016/12/03 12:06:35 by jhalford #+# #+# */ -/* Updated: 2017/03/08 12:10:46 by jhalford ### ########.fr */ +/* Updated: 2017/03/10 13:11:30 by jhalford ### ########.fr */ /* */ /* ************************************************************************** */ @@ -17,8 +17,8 @@ int lexer_great(t_list **alst, t_lexer *lexer) t_token *token; token = (*alst)->content; - /* if (token->type) */ - /* return (lexer_lex(&(*alst)->next, lexer)); */ + if (token->type) + return (lexer_lex(&(*alst)->next, lexer)); token_append(token, lexer, 0, 0); lexer->pos++; if (lexer->str[lexer->pos] == '&') diff --git a/42sh/src/lexer/lexer_less.c b/42sh/src/lexer/lexer_less.c index 7f54359c..1e8571f1 100644 --- a/42sh/src/lexer/lexer_less.c +++ b/42sh/src/lexer/lexer_less.c @@ -6,7 +6,7 @@ /* By: jhalford +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2016/12/03 12:06:53 by jhalford #+# #+# */ -/* Updated: 2017/03/08 23:34:58 by ariard ### ########.fr */ +/* Updated: 2017/03/10 13:11:27 by jhalford ### ########.fr */ /* */ /* ************************************************************************** */ @@ -17,6 +17,8 @@ int lexer_less(t_list **alst, t_lexer *lexer) t_token *token; token = (*alst)->content; + if (token->type) + return (lexer_lex(&(*alst)->next, lexer)); lexer->pos++; if (lexer->str[lexer->pos] == '&') { diff --git a/42sh/src/lexer/lexer_number.c b/42sh/src/lexer/lexer_number.c index 203308b8..b63ac61a 100644 --- a/42sh/src/lexer/lexer_number.c +++ b/42sh/src/lexer/lexer_number.c @@ -6,7 +6,7 @@ /* By: jhalford +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2016/12/03 12:06:45 by jhalford #+# #+# */ -/* Updated: 2017/03/08 23:35:37 by ariard ### ########.fr */ +/* Updated: 2017/03/10 13:12:43 by jhalford ### ########.fr */ /* */ /* ************************************************************************** */ @@ -38,7 +38,7 @@ int lexer_number(t_list **alst, t_lexer *lexer) { token_append(token, lexer, 0, 0); lexer->pos++; - return (lexer_lex(&(*alst)->next, lexer)); + return (lexer_lex(alst, lexer)); } else { diff --git a/42sh/src/main/main.c b/42sh/src/main/main.c index e847841a..3ccd3935 100644 --- a/42sh/src/main/main.c +++ b/42sh/src/main/main.c @@ -6,7 +6,7 @@ /* By: jhalford +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2016/12/06 18:40:58 by jhalford #+# #+# */ -/* Updated: 2017/03/10 12:12:24 by jhalford ### ########.fr */ +/* Updated: 2017/03/10 13:13:51 by jhalford ### ########.fr */ /* */ /* ************************************************************************** */