/* ************************************************************************** */ /* */ /* ::: :::::::: */ /* file.c :+: :+: :+: */ /* +:+ +:+ +:+ */ /* By: cchauvet exit_code = 1; ft_eprintf("minishell: %s: No such file or directory\n", path); return (0); } readable = read(fd, "", 0); if (readable == -1) { *data->exit_code = 1; ft_eprintf("minishell: %s: Permission denied\n", path); return (0); } close(fd); return (1); } int ft_file_is_writable(t_data *data, const char *path) { int writeable; int fd; fd = open(path, O_WRONLY | O_TRUNC | O_CREAT, 0644); if (fd == -1) { *data->exit_code = 1; ft_eprintf("minishell: %s: Permission denied\n", path); return (0); } writeable = write(fd, "", 0); if (writeable == -1) { *data->exit_code = 1; ft_eprintf("minishell: %s: Permission denied\n", path); return (0); } close(fd); return (1); } int ft_file_is_appendable(t_data *data, const char *path) { int writeable; int fd; fd = open(path, O_WRONLY | O_APPEND | O_CREAT, 0644); if (fd == -1) { *data->exit_code = 1; ft_eprintf("minishell: %s: Permission denied\n", path); return (0); } writeable = write(fd, "", 0); if (writeable == -1) { *data->exit_code = 1; ft_eprintf("minishell: %s: Permission denied\n", path); return (0); } close(fd); return (1); }