summaryrefslogtreecommitdiffstats
path: root/src/ft_exec.c
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/ft_exec.c16
1 files changed, 10 insertions, 6 deletions
diff --git a/src/ft_exec.c b/src/ft_exec.c
index 555be96..408697d 100644
--- a/src/ft_exec.c
+++ b/src/ft_exec.c
@@ -12,6 +12,7 @@
/* ************************************************************************** */
#include <libft.h>
+#include <stdlib.h>
#include <minishell.h>
#include <unistd.h>
@@ -23,13 +24,16 @@ ft_exec(char **com)
i = 0;
while (com[i])
i++;
- if (!ft_strncmp(com[0], "./", 2))
+ if (fork() == 0)
{
- if ((execve(com[0] + 2, com, NULL)) != 0)
- return (ft_error(com[0], 127));
+ if (!ft_strncmp(com[0], "./", 2))
+ {
+ if ((execve(com[0] + 2, com, NULL)) != 0)
+ return (ft_error(com[0], 127));
+ }
+ else
+ if ((execve(com[0], com, NULL)) != 0)
+ return (ft_error(com[0], 127));
}
- else
- if ((execve(com[0], com, NULL)) != 0)
- return (ft_error(com[0], 127));
return (0);
}