diff --git a/42sh/includes/.readscript.h.swp b/42sh/includes/.readscript.h.swp new file mode 100644 index 00000000..69ba5059 Binary files /dev/null and b/42sh/includes/.readscript.h.swp differ diff --git a/42sh/includes/readscript.h b/42sh/includes/readscript.h index 2334db34..11228a50 100644 --- a/42sh/includes/readscript.h +++ b/42sh/includes/readscript.h @@ -6,7 +6,7 @@ /* By: ariard +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2017/01/21 22:50:22 by ariard #+# #+# */ -/* Updated: 2017/01/22 00:37:21 by ariard ### ########.fr */ +/* Updated: 2017/01/22 21:24:47 by ariard ### ########.fr */ /* */ /* ************************************************************************** */ @@ -25,7 +25,6 @@ struct s_script { char *buffer; int b_size; - int used; int q_size; t_list *queue; }; @@ -35,9 +34,7 @@ typedef struct s_script t_script; /* * Read_script setup/cleanup */ - -int rs_setup(t_script *script); - -int ft_read_script(); + +int ft_read_script(char *file); #endif diff --git a/42sh/src/job-control/sigint_handler.c b/42sh/src/job-control/sigint_handler.c index de5ec7dd..93e6c4cf 100644 --- a/42sh/src/job-control/sigint_handler.c +++ b/42sh/src/job-control/sigint_handler.c @@ -6,7 +6,7 @@ /* By: jhalford +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2016/12/10 15:14:47 by jhalford #+# #+# */ -/* Updated: 2017/01/10 17:24:06 by jhalford ### ########.fr */ +/* Updated: 2017/01/22 20:56:45 by ariard ### ########.fr */ /* */ /* ************************************************************************** */ diff --git a/42sh/src/job-control/sigtstp_handler.c b/42sh/src/job-control/sigtstp_handler.c index ecae88cb..6fd5a311 100644 --- a/42sh/src/job-control/sigtstp_handler.c +++ b/42sh/src/job-control/sigtstp_handler.c @@ -6,7 +6,7 @@ /* By: jhalford +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2016/12/10 15:14:53 by jhalford #+# #+# */ -/* Updated: 2017/01/11 14:51:27 by jhalford ### ########.fr */ +/* Updated: 2017/01/22 19:03:32 by ariard ### ########.fr */ /* */ /* ************************************************************************** */ diff --git a/42sh/src/job-control/sigttin_handler.c b/42sh/src/job-control/sigttin_handler.c index 1b424bf5..b28e84be 100644 --- a/42sh/src/job-control/sigttin_handler.c +++ b/42sh/src/job-control/sigttin_handler.c @@ -6,7 +6,7 @@ /* By: jhalford +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2016/12/10 15:14:53 by jhalford #+# #+# */ -/* Updated: 2017/01/09 16:37:32 by jhalford ### ########.fr */ +/* Updated: 2017/01/22 17:22:10 by ariard ### ########.fr */ /* */ /* ************************************************************************** */ diff --git a/42sh/src/line-editing/.ft_readline.c.swp b/42sh/src/line-editing/.ft_readline.c.swp new file mode 100644 index 00000000..b02632a5 Binary files /dev/null and b/42sh/src/line-editing/.ft_readline.c.swp differ diff --git a/42sh/src/line-editing/ft_readline.c b/42sh/src/line-editing/ft_readline.c index 85b96e20..e7b4a105 100644 --- a/42sh/src/line-editing/ft_readline.c +++ b/42sh/src/line-editing/ft_readline.c @@ -6,7 +6,7 @@ /* By: sbenning +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2016/12/08 18:03:48 by sbenning #+# #+# */ -/* Updated: 2017/01/22 00:37:17 by ariard ### ########.fr */ +/* Updated: 2017/01/22 21:06:24 by ariard ### ########.fr */ /* */ /* ************************************************************************** */ diff --git a/42sh/src/line-editing/rl_dynamic_buffer.c b/42sh/src/line-editing/rl_dynamic_buffer.c index 932db10b..c52ea08c 100644 --- a/42sh/src/line-editing/rl_dynamic_buffer.c +++ b/42sh/src/line-editing/rl_dynamic_buffer.c @@ -6,7 +6,7 @@ /* By: sbenning +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2016/12/08 18:42:31 by sbenning #+# #+# */ -/* Updated: 2017/01/21 22:41:19 by ariard ### ########.fr */ +/* Updated: 2017/01/22 21:24:09 by ariard ### ########.fr */ /* */ /* ************************************************************************** */ diff --git a/42sh/src/line-editing/rl_setup.c b/42sh/src/line-editing/rl_setup.c index ead0b93e..c505c991 100644 --- a/42sh/src/line-editing/rl_setup.c +++ b/42sh/src/line-editing/rl_setup.c @@ -6,7 +6,7 @@ /* By: sbenning +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2016/12/08 18:07:47 by sbenning #+# #+# */ -/* Updated: 2017/01/21 23:27:14 by ariard ### ########.fr */ +/* Updated: 2017/01/22 21:25:10 by ariard ### ########.fr */ /* */ /* ************************************************************************** */ diff --git a/42sh/src/main/.main.c.swo b/42sh/src/main/.main.c.swo new file mode 100644 index 00000000..457e93eb Binary files /dev/null and b/42sh/src/main/.main.c.swo differ diff --git a/42sh/src/main/data_exit.c b/42sh/src/main/data_exit.c index e7eb4c74..30acbb44 100644 --- a/42sh/src/main/data_exit.c +++ b/42sh/src/main/data_exit.c @@ -6,7 +6,7 @@ /* By: jhalford +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2016/12/07 18:07:50 by jhalford #+# #+# */ -/* Updated: 2017/01/19 21:06:33 by ariard ### ########.fr */ +/* Updated: 2017/01/22 17:20:29 by ariard ### ########.fr */ /* */ /* ************************************************************************** */ diff --git a/42sh/src/main/data_init.c b/42sh/src/main/data_init.c index c303d707..2b77bc85 100644 --- a/42sh/src/main/data_init.c +++ b/42sh/src/main/data_init.c @@ -6,7 +6,7 @@ /* By: jhalford +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2016/11/28 19:26:32 by jhalford #+# #+# */ -/* Updated: 2017/01/21 23:28:31 by ariard ### ########.fr */ +/* Updated: 2017/01/22 17:20:04 by ariard ### ########.fr */ /* */ /* ************************************************************************** */ diff --git a/42sh/src/main/main.c b/42sh/src/main/main.c index cd8b64f7..98bf0967 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/01/22 00:37:15 by ariard ### ########.fr */ +/* Updated: 2017/01/22 21:18:37 by ariard ### ########.fr */ /* */ /* ************************************************************************** */ @@ -49,14 +49,14 @@ int main(int ac, char **av) shell_single_command(shell_get_avdata()); return (0); } + if (ft_read_script(av[1])) + return (0); while (1) { -// if (ft_read_script()) -// return (1); -// else if (ft_readline()) -// return (1); -// if (shell_single_command(data_singleton()->line.input)) -// return (1); + if (ft_readline()) + return (1); + if (shell_single_command(data_singleton()->line.input)) + return (1); } return (0); } diff --git a/42sh/src/main/shell_init.c b/42sh/src/main/shell_init.c index 461d8736..eca82051 100644 --- a/42sh/src/main/shell_init.c +++ b/42sh/src/main/shell_init.c @@ -6,7 +6,7 @@ /* By: jhalford +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2016/12/12 17:23:59 by jhalford #+# #+# */ -/* Updated: 2017/01/21 22:02:05 by ariard ### ########.fr */ +/* Updated: 2017/01/22 20:56:35 by ariard ### ########.fr */ /* */ /* ************************************************************************** */ diff --git a/42sh/src/read-script/.ft_read_script.c.swp b/42sh/src/read-script/.ft_read_script.c.swp new file mode 100644 index 00000000..cfd7b8e5 Binary files /dev/null and b/42sh/src/read-script/.ft_read_script.c.swp differ diff --git a/42sh/src/read-script/ft_read_script.c b/42sh/src/read-script/ft_read_script.c index 71bbc46b..4e674620 100644 --- a/42sh/src/read-script/ft_read_script.c +++ b/42sh/src/read-script/ft_read_script.c @@ -6,20 +6,49 @@ /* By: ariard +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2017/01/21 22:49:31 by ariard #+# #+# */ -/* Updated: 2017/01/22 00:33:09 by ariard ### ########.fr */ +/* Updated: 2017/01/22 21:39:49 by ariard ### ########.fr */ /* */ /* ************************************************************************** */ #include "minishell.h" -int ft_read_script() +static int rs_loop(char *file, t_script *script) +{ + int fd; + + script->queue = ft_memalloc(sizeof(t_list)); + fd = open(file, O_RDONLY); + while (get_next_line(fd, &script->buffer) > 0) + { + ft_lsteadd(&script->queue, + ft_lstnew(script->buffer, ft_strlen(script->buffer))); + ft_strdel(&script->buffer); + } + close(fd); + return (0); +} + +static int rs_setup(t_script *script) +{ + ft_bzero(script, sizeof(script)); + script->buffer = NULL; + script->b_size = 0; + script->q_size = 0; + return (0); +} + +int ft_read_script(char *file) { t_script *script; script = &data_singleton()->script; + if (!file) + return (0); if (rs_setup(script) < 0) return (-1); -// if (rs_loop(script) < 0) -// return (-1); - return (0); + if (rs_loop(file, script) < 0) + return (-1); + script->buffer = NULL; + DG("{inv}{bol}{gre}read of script{eoc} script detected"); + return (1); } diff --git a/42sh/src/read-script/rs_setup.c b/42sh/src/read-script/rs_setup.c deleted file mode 100644 index 4d735c14..00000000 --- a/42sh/src/read-script/rs_setup.c +++ /dev/null @@ -1,23 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* rs_setup.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: ariard +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2017/01/21 23:08:04 by ariard #+# #+# */ -/* Updated: 2017/01/22 00:33:27 by ariard ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "minishell.h" - -int rs_setup(t_script *script) -{ - ft_bzero(script, sizeof(script)); - script->buffer = 0; - script->b_size = 0; - script->used = 0; - script->q_size = 0; - return (0); -}