diff options
-rw-r--r-- | TODO.org | 1 | ||||
-rw-r--r-- | src/m_argv.c | 19 |
2 files changed, 14 insertions, 6 deletions
@@ -26,6 +26,7 @@ ** TODO [#B] $_ ** DONE [#B] .minishellrc ** TODO [#B] .minishell_history +** TODO [#B] SIGNAL ** TODO [#C] Norm ** DONE [#C] [ builtin <=== pretty cool yet simple stuff ( [ $a -eq 1 ] ) ** TODO [#C] alias diff --git a/src/m_argv.c b/src/m_argv.c index 46e2640..5b2bc96 100644 --- a/src/m_argv.c +++ b/src/m_argv.c @@ -23,13 +23,23 @@ #include "m_mshrc.h" #include "s_struct.h" +static void + m_read_script(char *const argv[], + t_msh *msh) +{ + int32_t fd; + + if ((fd = open(*(argv + 1), O_RDONLY)) == -1) + f_open_file(*(argv + 1), msh); + msh->ret = m_loop(fd, msh); + close(fd); +} + uint8_t m_argv(int argc, char *const argv[], t_msh *msh) { - int32_t fd; - if (argc == 1) { m_init_custom_vars(msh); @@ -48,10 +58,7 @@ uint8_t } else { - if ((fd = open(*(argv + 1), O_RDONLY)) < 0) - f_open_file(*(argv + 1), msh); - msh->ret = m_loop(fd, msh); - close(fd); + m_read_script(argv, msh); } return (msh->ret); } |