READING FILE WORKING
This commit is contained in:
@@ -6,7 +6,7 @@
|
|||||||
/* By: vmanzoni <vmanzoni@student.42.fr> +#+ +:+ +#+ */
|
/* By: vmanzoni <vmanzoni@student.42.fr> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2019/03/01 13:34:46 by vmanzoni #+# #+# */
|
/* Created: 2019/03/01 13:34:46 by vmanzoni #+# #+# */
|
||||||
/* Updated: 2019/04/14 17:29:58 by vmanzoni ### ########.fr */
|
/* Updated: 2019/04/14 17:43:41 by vmanzoni ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
@@ -34,6 +34,6 @@ void print_test(char *test);
|
|||||||
|
|
||||||
char *read_file(char *file);
|
char *read_file(char *file);
|
||||||
void print_error(char *s);
|
void print_error(char *s);
|
||||||
int ft_file_errors(char *file);
|
int check_file_errors(char *file);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
/* By: vmanzoni <vmanzoni@student.42.fr> +#+ +:+ +#+ */
|
/* By: vmanzoni <vmanzoni@student.42.fr> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2019/03/01 13:29:05 by vmanzoni #+# #+# */
|
/* Created: 2019/03/01 13:29:05 by vmanzoni #+# #+# */
|
||||||
/* Updated: 2019/04/14 17:30:30 by vmanzoni ### ########.fr */
|
/* Updated: 2019/04/14 17:46:32 by vmanzoni ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
@@ -16,7 +16,7 @@
|
|||||||
** Function that display error message *s on fd
|
** Function that display error message *s on fd
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void print_error(char *s, int fd)
|
void print_error(char *s)
|
||||||
{
|
{
|
||||||
write(2, s, strlen(s));
|
write(2, s, strlen(s));
|
||||||
}
|
}
|
||||||
@@ -28,18 +28,20 @@ void print_error(char *s, int fd)
|
|||||||
** - two \n in a row
|
** - two \n in a row
|
||||||
*/
|
*/
|
||||||
|
|
||||||
int ft_file_errors(char *file)
|
int check_file_errors(char *file)
|
||||||
{
|
{
|
||||||
|
int i;
|
||||||
int line_nbr;
|
int line_nbr;
|
||||||
|
|
||||||
|
i = 0;
|
||||||
line_nbr = 0;
|
line_nbr = 0;
|
||||||
while (*file)
|
while (file[i])
|
||||||
{
|
{
|
||||||
if (*file == '\n')
|
if (file[i] != '.' && file[i] != '#' && file[i] != '\n')
|
||||||
|
return (1);
|
||||||
|
if (file[i] == '\n')
|
||||||
line_nbr++;
|
line_nbr++;
|
||||||
file++;
|
i++;
|
||||||
if (*file == '\n')
|
|
||||||
return (1);
|
|
||||||
}
|
}
|
||||||
if (line_nbr < 4 || line_nbr > 129)
|
if (line_nbr < 4 || line_nbr > 129)
|
||||||
return (1);
|
return (1);
|
||||||
|
|||||||
10
srcs/main.c
10
srcs/main.c
@@ -6,7 +6,7 @@
|
|||||||
/* By: vmanzoni <vmanzoni@student.42.fr> +#+ +:+ +#+ */
|
/* By: vmanzoni <vmanzoni@student.42.fr> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2019/02/12 13:20:48 by vmanzoni #+# #+# */
|
/* Created: 2019/02/12 13:20:48 by vmanzoni #+# #+# */
|
||||||
/* Updated: 2019/04/14 17:30:14 by vmanzoni ### ########.fr */
|
/* Updated: 2019/04/14 17:44:38 by vmanzoni ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
@@ -19,9 +19,9 @@ int main(int argc, char **argv)
|
|||||||
if (argc == 2)
|
if (argc == 2)
|
||||||
{
|
{
|
||||||
if (!(input = read_file(argv[1])))
|
if (!(input = read_file(argv[1])))
|
||||||
ft_display_error("Error: Could not read file.\n");
|
print_error("Error: Could not read file.\n");
|
||||||
if (ft_file_errors(input))
|
if (check_file_errors(input))
|
||||||
ft_display_error("Error: Invalid file.\n");
|
print_error("Error: Invalid file.\n");
|
||||||
/*
|
/*
|
||||||
Check if every tetrimino is valid
|
Check if every tetrimino is valid
|
||||||
Transform input to tetriminos
|
Transform input to tetriminos
|
||||||
@@ -31,7 +31,7 @@ int main(int argc, char **argv)
|
|||||||
*/
|
*/
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
ft_display_error("Error: Please submit a file.\n");
|
print_error("Error: Please submit a file.\n");
|
||||||
return (0);
|
return (0);
|
||||||
print_test(input);
|
print_test(input);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,7 +6,7 @@
|
|||||||
/* By: vmanzoni <vmanzoni@student.42.fr> +#+ +:+ +#+ */
|
/* By: vmanzoni <vmanzoni@student.42.fr> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2019/04/13 12:09:46 by vmanzoni #+# #+# */
|
/* Created: 2019/04/13 12:09:46 by vmanzoni #+# #+# */
|
||||||
/* Updated: 2019/04/14 14:23:24 by vmanzoni ### ########.fr */
|
/* Updated: 2019/04/14 17:44:18 by vmanzoni ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
@@ -14,23 +14,24 @@
|
|||||||
|
|
||||||
char *read_file(char *file)
|
char *read_file(char *file)
|
||||||
{
|
{
|
||||||
char buf[BUFFER_SIZE];
|
char buf[BUFF_SIZE];
|
||||||
int fd;
|
int fd;
|
||||||
int rv;
|
int rv;
|
||||||
int i;
|
int i;
|
||||||
char *result;
|
char *result;
|
||||||
|
|
||||||
if (((fd = open(file, O_RDONLY)) < 0) \
|
if (((fd = open(file, O_RDONLY)) < 0) \
|
||||||
|| ((rv = read(fd, &buf, BUFFER_SIZE)) < 0) \
|
|| ((rv = read(fd, &buf, BUFF_SIZE)) < 0) \
|
||||||
|| !(result = malloc(sizeof(char))))
|
|| !(result = malloc(sizeof(char) * rv)))
|
||||||
return (NULL);
|
return (NULL);
|
||||||
buf[rv] = '\0';
|
buf[rv] = '\0';
|
||||||
i = 0;
|
i = 0;
|
||||||
while (rv--)
|
while (buf[i])
|
||||||
{
|
{
|
||||||
result[i] = buf[i];
|
result[i] = buf[i];
|
||||||
i++;
|
i++;
|
||||||
}
|
}
|
||||||
|
result[i] = '\0';
|
||||||
close(fd);
|
close(fd);
|
||||||
return (result);
|
return (result);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user