From 714393439e1ce2513a3b85dce31b4d4d3206c8e5 Mon Sep 17 00:00:00 2001 From: Lukas Jiriste Date: Wed, 28 Jun 2023 21:17:10 +0200 Subject: [PATCH] Start of Ex. 02. --- ex02/Makefile | 27 +++++++++++++++++ ex02/sources/main.c | 73 +++++++++++++++++++++++++++++++++++++++++++++ ex02/test | 23 ++++++++++++++ 3 files changed, 123 insertions(+) create mode 100644 ex02/Makefile create mode 100644 ex02/sources/main.c create mode 100644 ex02/test diff --git a/ex02/Makefile b/ex02/Makefile new file mode 100644 index 0000000..4489f55 --- /dev/null +++ b/ex02/Makefile @@ -0,0 +1,27 @@ +CC = cc +CFLAGS = -Wall -Wextra -Werror -g + +RM = rm -f + +SRCDIR = ./sources +SOURCES = $(shell find $(SRCDIR) -name "*.c") +OBJECTS = $(SOURCES:.c=.o) + +NAME = ft_tail + +all : $(NAME) + +$(NAME) : $(OBJECTS) + $(CC) $(CFLAGS) -o $(NAME) $(OBJECTS) + +%.o : %.c + $(CC) $(CFLAGS) -c -o $@ $< + +clean : + $(RM) $(OBJECTS) + +fclean : clean + $(RM) $(NAME) + +re : fclean + $(MAKE) all diff --git a/ex02/sources/main.c b/ex02/sources/main.c new file mode 100644 index 0000000..89c8644 --- /dev/null +++ b/ex02/sources/main.c @@ -0,0 +1,73 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* main.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: ljiriste +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2023/06/27 14:05:49 by ljiriste #+# #+# */ +/* Updated: 2023/06/27 17:28:04 by ljiriste ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include +#include +#include +#include +#include + +void print_error(char *str) +{ + while (*str) + write(2, str++, 1); + return ; +} + +void std_input_mode(void) +{ + char c; + + while (read(0, &c, 1) > 0) + write(1, &c, 1); + return ; +} + +void tail_file(char *file_name, char *proc_name, unsigned int char_count); +{ + int fd; + char c; + unsigned int file_length; + + fd = open(file_name, O_RDWR); + if (fd < 0) + { + print_error(proc_name); + print_error(": "); + print_error(file_name); + print_error(": "); + print_error(strerror(errno)); + print_error("\n"); + } + else + { + file_length = file_length(file_name); + + while (read(fd, &c, 1) > 0) + write(1, &c, 1); + close(fd); + } +} + +int main(int argc, char **argv) +{ + int i; + char *str; + + if (argc == 1) + std_input_mode_lines(10); + else + { + + } + return (0); +} diff --git a/ex02/test b/ex02/test new file mode 100644 index 0000000..ac5187c --- /dev/null +++ b/ex02/test @@ -0,0 +1,23 @@ +sdfawef +d +s +s +fa +rg +a +bs +ta +er +ar +bst +hae +rg +arga +regarg +a +rg +ar +a +rva +r +aa -- 2.30.2