diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/m_argv.c | 19 |
1 files changed, 13 insertions, 6 deletions
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); } |