From 707e9a4177a0632376c3ffd858ad03a43397757c Mon Sep 17 00:00:00 2001 From: Raphael Date: Thu, 31 Oct 2024 17:23:25 +0100 Subject: [PATCH] Edited to be used on other project --- Makefile | 13 +++++++------ includes/libft/char.h | 31 +++++++++++++++++++++++++++++++ includes/libft/convert.h | 27 +++++++++++++++++++++++++++ includes/libft/libft.h | 23 +++++++++++++++++++++++ includes/libft/list.h | 39 +++++++++++++++++++++++++++++++++++++++ includes/libft/memory.h | 31 +++++++++++++++++++++++++++++++ includes/libft/print.h | 31 +++++++++++++++++++++++++++++++ includes/libft/str.h | 40 ++++++++++++++++++++++++++++++++++++++++ str/ft_strcmp.c | 31 +++++++++++++++++++++++++++++++ 9 files changed, 260 insertions(+), 6 deletions(-) create mode 100644 includes/libft/char.h create mode 100644 includes/libft/convert.h create mode 100644 includes/libft/libft.h create mode 100644 includes/libft/list.h create mode 100644 includes/libft/memory.h create mode 100644 includes/libft/print.h create mode 100644 includes/libft/str.h create mode 100644 str/ft_strcmp.c diff --git a/Makefile b/Makefile index bb02399..34cc676 100644 --- a/Makefile +++ b/Makefile @@ -6,14 +6,14 @@ # By: rparodi +#+ +:+ +#+ # # +#+#+#+#+#+ +#+ # # Created: 2023/11/12 11:05:05 by rparodi #+# #+# # -# Updated: 2024/10/31 16:15:59 by rparodi ### ########.fr # +# Updated: 2024/10/31 17:22:49 by rparodi ### ########.fr # # # # **************************************************************************** # # Variables # Name -NAME=libft.a +NAME = libft.a # Commands CC = cc @@ -30,7 +30,7 @@ CFLAGS += -g3 -MMD LDFLAGS = -L. LDLIBS = -lft -INCLUDES = ./includes/ +INCLUDES = ./includes/libft/ SRC = char/ft_isdigit.c \ char/ft_isalnum.c \ @@ -66,6 +66,7 @@ SRC = char/ft_isdigit.c \ print/ft_putstr_fd.c \ str/ft_split.c \ str/ft_strchr.c \ + str/ft_strcmp.c \ str/ft_strcpy.c \ str/ft_strdup.c \ str/ft_striteri.c \ @@ -81,7 +82,7 @@ SRC = char/ft_isdigit.c \ str/ft_substr.c # Objects -OBJDIRNAME = ./objects +OBJDIRNAME = ./build OBJ = $(addprefix $(OBJDIRNAME)/,$(SRC:.c=.o)) # Colors @@ -96,11 +97,12 @@ END = \033[0m # All (make all) all: header $(NAME) footer +lib: $(NAME) + # Bonus (make bonus) bonus: header $(OBJ) $(LIB_OBJ) footer @mkdir -p $(OBJDIRNAME) @mkdir -p $(OBJDIRNAME)/$(SRCDIRNAME) - @printf '$(GREY) Creating $(END)$(GREEN)$(OBJDIRNAME)$(END)\n' @printf '$(GREY) Be Carefull ur in $(END)$(GREEN)Debug Mode$(END)\n' @cc $(CFLAGS) -D BONUS=1 -o $(NAME) $(OBJ) $(LIB_OBJ) @@ -122,7 +124,6 @@ re: header fclean all # Dependences for all $(NAME): $(OBJ) @mkdir -p $(OBJDIRNAME) - @printf '$(GREY) Creating $(END)$(GREEN)$(OBJDIRNAME)$(END)\n' @ar rc $(NAME) $(OBJ) @ranlib $(NAME) diff --git a/includes/libft/char.h b/includes/libft/char.h new file mode 100644 index 0000000..c967dbe --- /dev/null +++ b/includes/libft/char.h @@ -0,0 +1,31 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* char.h :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: rparodi +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2024/10/31 14:54:04 by rparodi #+# #+# */ +/* Updated: 2024/10/31 15:22:26 by rparodi ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#ifndef CHAR_H +# define CHAR_H + +# include +# include +# include +# include +# include +# include + +int ft_isalnum(int c); +int ft_isalpha(int c); +int ft_isascii(int c); +int ft_isdigit(int c); +int ft_isprint(int c); +int ft_tolower(int c); +int ft_toupper(int c); + +#endif diff --git a/includes/libft/convert.h b/includes/libft/convert.h new file mode 100644 index 0000000..9996986 --- /dev/null +++ b/includes/libft/convert.h @@ -0,0 +1,27 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* convert.h :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: rparodi +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2024/10/31 14:57:24 by rparodi #+# #+# */ +/* Updated: 2024/10/31 15:27:40 by rparodi ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#ifndef CONVERT_H +# define CONVERT_H + +# include +# include +# include +# include +# include +# include + +char *ft_itoa(int n); +int ft_atoi(const char *nptr); +long long int ft_atoll(const char *nptr); + +#endif diff --git a/includes/libft/libft.h b/includes/libft/libft.h new file mode 100644 index 0000000..d3488b2 --- /dev/null +++ b/includes/libft/libft.h @@ -0,0 +1,23 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* libft.h :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: rparodi +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2023/11/06 11:14:57 by rparodi #+# #+# */ +/* Updated: 2024/10/31 15:27:14 by rparodi ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#ifndef LIBFT_H +# define LIBFT_H + +# include "char.h" +# include "convert.h" +# include "list.h" +# include "memory.h" +# include "print.h" +# include "str.h" + +#endif diff --git a/includes/libft/list.h b/includes/libft/list.h new file mode 100644 index 0000000..75167b0 --- /dev/null +++ b/includes/libft/list.h @@ -0,0 +1,39 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* list.h :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: rparodi +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2024/10/31 15:00:12 by rparodi #+# #+# */ +/* Updated: 2024/10/31 15:27:20 by rparodi ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#ifndef LIST_H +# define LIST_H + +# include +# include +# include +# include +# include +# include + +typedef struct s_list +{ + void *content; + struct s_list *next; +} t_list; + +int ft_lstsize(t_list *lst); +t_list *ft_lstlast(t_list *lst); +t_list *ft_lstmap(t_list *lst, void *(*f)(void *), void (*del)(void *)); +t_list *ft_lstnew(void *content); +void ft_lstadd_back(t_list **lst, t_list *new); +void ft_lstadd_front(t_list **lst, t_list *new); +void ft_lstclear(t_list **lst, void (*del)(void *)); +void ft_lstdelone(t_list *lst, void (*del)(void *)); +void ft_lstiter(t_list *lst, void (*f)(void *)); + +#endif diff --git a/includes/libft/memory.h b/includes/libft/memory.h new file mode 100644 index 0000000..aaac8e5 --- /dev/null +++ b/includes/libft/memory.h @@ -0,0 +1,31 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* memory.h :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: rparodi +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2024/10/31 15:18:17 by rparodi #+# #+# */ +/* Updated: 2024/10/31 15:21:00 by rparodi ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#ifndef MEMORY_H +# define MEMORY_H + +# include +# include +# include +# include +# include +# include + +int ft_memcmp(const void *s1, const void *s2, size_t n); +void *ft_calloc(size_t nmemb, size_t size); +void *ft_memchr(const void *s, int c, size_t n); +void *ft_memcpy(void *dest, const void *src, size_t n); +void *ft_memmove(void *dest, const void *src, size_t n); +void *ft_memset(void *s, int c, size_t n); +void ft_bzero(void *s, size_t n); + +#endif diff --git a/includes/libft/print.h b/includes/libft/print.h new file mode 100644 index 0000000..1cc0bcd --- /dev/null +++ b/includes/libft/print.h @@ -0,0 +1,31 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* print.h :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: rparodi +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2024/10/31 15:07:30 by rparodi #+# #+# */ +/* Updated: 2024/10/31 15:41:54 by rparodi ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#ifndef PRINT_H +# define PRINT_H + +# include +# include +# include +# include +# include +# include +# include + +int ft_dprintf(int fd, const char *s, ...); +int ft_printf(const char *s, ...); +void ft_putchar_fd(char c, int fd); +void ft_putendl_fd(char *s, int fd); +void ft_putnbr_fd(int n, int fd); +void ft_putstr_fd(char *s, int fd); + +#endif diff --git a/includes/libft/str.h b/includes/libft/str.h new file mode 100644 index 0000000..cfaf4ca --- /dev/null +++ b/includes/libft/str.h @@ -0,0 +1,40 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* str.h :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: rparodi +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2024/10/31 15:04:59 by rparodi #+# #+# */ +/* Updated: 2024/10/31 17:06:53 by rparodi ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#ifndef STR_H +# define STR_H + +# include +# include +# include +# include +# include +# include + +char **ft_split(char const *s, char c); +char *ft_strchr(const char *s, int c); +char *ft_strcpy(char *dst, const char *src); +char *ft_strdup(const char *s); +char *ft_strjoin(char const *s1, char const *s2); +char *ft_strmapi(char const *s, char (*f)(unsigned int, char)); +char *ft_strnstr(const char *big, const char *little, size_t len); +char *ft_strrchr(const char *s, int c); +char *ft_strtrim(char const *s1, char const *set); +char *ft_substr(char const *s, unsigned int start, size_t len); +int ft_strcmp(const char *s1, const char *s2); +int ft_strncmp(const char *s1, const char *s2, size_t n); +size_t ft_strlcat(char *dst, const char *src, size_t size); +size_t ft_strlcpy(char *dst, const char *src, size_t size); +size_t ft_strlen(const char *s); +void ft_striteri(char *s, void (*f)(unsigned int, char*)); + +#endif diff --git a/str/ft_strcmp.c b/str/ft_strcmp.c new file mode 100644 index 0000000..e2da6f7 --- /dev/null +++ b/str/ft_strcmp.c @@ -0,0 +1,31 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* strcmp.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: rparodi +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2023/11/07 16:56:56 by rparodi #+# #+# */ +/* Updated: 2024/10/31 17:05:03 by rparodi ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "libft.h" + +int ft_strcmp(const char *s1, const char *s2) +{ + size_t i; + int diff; + + i = 0; + while ((s1[i] || s2[i])) + { + if (s1[i] != s2[i]) + { + diff = (unsigned char)s1[i] - (unsigned char)s2[i]; + return (diff); + } + i++; + } + return (0); +}