diff options
Diffstat (limited to 'src/m_argv.c')
-rw-r--r-- | src/m_argv.c | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/src/m_argv.c b/src/m_argv.c index 46e2640..98a8e3e 100644 --- a/src/m_argv.c +++ b/src/m_argv.c @@ -23,13 +23,20 @@ #include "m_mshrc.h" #include "s_struct.h" -uint8_t - m_argv(int argc, - char *const argv[], - t_msh *msh) +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) +{ if (argc == 1) { m_init_custom_vars(msh); @@ -48,10 +55,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); } |