CC = gcc
CHLAGS = -Wall -Wextra -Werror

TARGET = display_file
SRCS = main.c
OBJS = main.o

%.o : $.c
        ${CC} ${CHLAGS} -c $< -o $@

${TARGET} : ${OBJS}
        ${CC} ${CHLAGS} $< -o $@

all : ${TARGET}

clean:
        rm -rf ${OBJS}

fclean: clean
        rm -rf ${TARGET}

re: fclean all
#include <unistd.h>
#include <fcntl.h>

void    ft_putchar(char c)
{
        write(1, &c, 1);
}

void    ft_putstr(char *str)
{
        while (*str)
        {
                ft_putchar(*str);
                str++;
        }
}

void    ft_putnstr(char *str, int size)
{
        write(1, str, size);
}

int     error(int argc, int fd)
{
        if (argc == 1)
        {
                ft_putstr("File name missing.\\n");
                return (0);
        }
        else if (argc > 2)
        {
                ft_putstr("Too many arguments.\\n");
                return (0);
        }
        if (fd < 0)
        {
                ft_putstr("Cannot read file.\\n");
                return (0);
        }
        return (1);
}

int     main(int argc, char *argv[])
{
        int     fd;
        int     byte;
        char    output[100];

        fd = open(argv[1], O_RDONLY);
        if (error(argc, fd))
        {
                while (1)
                {
                        byte = read(fd, output, 100);
                        if (byte != 0)
                                ft_putnstr(output, byte);
                        else
                                break ;
                }
        }
				close(fd);
        return (0);
}