summaryrefslogtreecommitdiffstats
path: root/src/m_argv.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/m_argv.c')
-rw-r--r--src/m_argv.c20
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);
}