summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJozanLeClerc <bousset.rudy@gmail.com>2020-04-25 13:38:30 +0200
committerJozanLeClerc <bousset.rudy@gmail.com>2020-04-25 13:38:30 +0200
commitb888a5fd3ffd5b304536cee875446b60042c3cd7 (patch)
tree657a68a0f35b28079f3f890457d29d29c367d917
parentUpdated todolist (diff)
download42-minishell-b888a5fd3ffd5b304536cee875446b60042c3cd7.tar.gz
42-minishell-b888a5fd3ffd5b304536cee875446b60042c3cd7.tar.bz2
42-minishell-b888a5fd3ffd5b304536cee875446b60042c3cd7.tar.xz
42-minishell-b888a5fd3ffd5b304536cee875446b60042c3cd7.tar.zst
42-minishell-b888a5fd3ffd5b304536cee875446b60042c3cd7.zip
strerror is nice actually
Diffstat (limited to '')
-rw-r--r--Makefile2
-rw-r--r--src/ft_f_redir.c (renamed from src/ft_f_file.c)24
-rw-r--r--src/ft_f_redir.h (renamed from src/ft_f_file.h)8
-rw-r--r--src/ft_m_redirs.c8
4 files changed, 15 insertions, 27 deletions
diff --git a/Makefile b/Makefile
index 048f815..83790cf 100644
--- a/Makefile
+++ b/Makefile
@@ -28,7 +28,7 @@ SRCS_NAME += ft_e_externs.c
SRCS_NAME += ft_e_externs_next.c
SRCS_NAME += ft_e_lcom.c
SRCS_NAME += ft_f_fail.c
-SRCS_NAME += ft_f_file.c
+SRCS_NAME += ft_f_redir.c
SRCS_NAME += ft_m_funptr.c
SRCS_NAME += ft_m_loop.c
SRCS_NAME += ft_m_prompt.c
diff --git a/src/ft_f_file.c b/src/ft_f_redir.c
index 53e0c8b..997401a 100644
--- a/src/ft_f_file.c
+++ b/src/ft_f_redir.c
@@ -1,7 +1,7 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
-/* ft_f_file.c :+: :+: :+: */
+/* ft_f_redir.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: rbousset <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
@@ -12,30 +12,18 @@
#include <libft.h>
#include <stdlib.h>
-#include <errno.h>
+#include <string.h>
#include <unistd.h>
+#include <errno.h>
+
#include "ft_s_lcom.h"
#include "ft_s_destroy.h"
void
- ft_f_file(const char path[],
+ ft_f_redir(const char path[],
t_msh *msh)
{
- if (errno == ENOENT)
- {
- ft_dprintf(STDERR_FILENO,
- "minishell: %s: No such file or directory\n", path);
- }
- else if (errno == EACCES)
- {
- ft_dprintf(STDERR_FILENO,
- "minishell: %s: Permission denied\n", path);
- }
- else if (errno == EISDIR)
- {
- ft_dprintf(STDERR_FILENO,
- "minishell: %s: Is a directory\n", path);
- }
+ ft_dprintf(STDERR_FILENO, "minishell: %s: %s\n", path, strerror(errno));
ft_lcom_clear(&msh->curr);
ft_s_destroy(msh);
exit(1);
diff --git a/src/ft_f_file.h b/src/ft_f_redir.h
index 964dcf9..2b99da7 100644
--- a/src/ft_f_file.h
+++ b/src/ft_f_redir.h
@@ -1,7 +1,7 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
-/* ft_f_file.h :+: :+: :+: */
+/* ft_f_redir.h :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: rbousset <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
@@ -10,12 +10,12 @@
/* */
/* ************************************************************************** */
-#ifndef FT_F_FILE_H
-#define FT_F_FILE_H
+#ifndef FT_F_REDIR_H
+#define FT_F_REDIR_H
#include "ft_s_struct.h"
-void ft_f_file(const char path[],
+void ft_f_redir(const char path[],
t_msh *msh);
#endif
diff --git a/src/ft_m_redirs.c b/src/ft_m_redirs.c
index 91d8553..e601894 100644
--- a/src/ft_m_redirs.c
+++ b/src/ft_m_redirs.c
@@ -14,7 +14,7 @@
#include <unistd.h>
#include <errno.h>
-#include "ft_f_file.h"
+#include "ft_f_redir.h"
#include "ft_s_destroy.h"
#include "ft_s_lcom.h"
#include "ft_s_struct.h"
@@ -28,7 +28,7 @@ void
if (ptr->redir == -1)
{
if ((fd = open(ptr->rdrpath, O_RDONLY)) == -1)
- ft_f_file(ptr->rdrpath, msh);
+ ft_f_redir(ptr->rdrpath, msh);
dup2(fd, STDIN_FILENO);
close(fd);
}
@@ -36,7 +36,7 @@ void
{
if ((fd = open(ptr->rdrpath,
O_CREAT | O_TRUNC | O_WRONLY, 0644)) == -1)
- ft_f_file(ptr->rdrpath, msh);
+ ft_f_redir(ptr->rdrpath, msh);
dup2(fd, STDOUT_FILENO);
close(fd);
}
@@ -44,7 +44,7 @@ void
{
if ((fd = open(ptr->rdrpath,
O_CREAT | O_APPEND | O_WRONLY, 0644)) == -1)
- ft_f_file(ptr->rdrpath, msh);
+ ft_f_redir(ptr->rdrpath, msh);
dup2(fd, STDOUT_FILENO);
close(fd);
}