diff --git a/Makefile b/Makefile index 6a6ed1c..712156b 100644 --- a/Makefile +++ b/Makefile @@ -6,7 +6,7 @@ # By: rparodi +#+ +:+ +#+ # # +#+#+#+#+#+ +#+ # # Created: 2023/11/12 11:05:05 by rparodi #+# #+# # -# Updated: 2024/11/08 11:45:04 by rparodi ### ########.fr # +# Updated: 2024/11/08 19:36:49 by rparodi ### ########.fr # # # # **************************************************************************** # @@ -26,15 +26,14 @@ CFLAGS += -g3 -MMD # CFLAGS += -fsanitize=address # CFLAGS += -fsanitize=thread -INCLUDES = -I ./includes/ -I ./includes/libft/ -I ./minilibx-linux +INCLUDES = -I ./includes/ -I ./includes/include/ -I ./minilibx-linux # Paths LIBFT_DIR = ./libft -LIBFT_PERSONAL_DIR = ./libft_personal MLX_DIR = ./minilibx-linux # Library flags -LDFLAGS = -L./build -lft -lft_personal -lm +LDFLAGS = -L./build -lft -lm # MiniLibX flags for macOS with XQuartz MLXFLAGS = -L$(MLX_DIR) -lmlx -L/opt/X11/lib -lX11 -lXext -lXrender -lXrandr -lXi @@ -87,13 +86,11 @@ re: header fclean all # Compile external libraries build/libft.a: @make --no-print-directory -C $(LIBFT_DIR) -build/libft_personal.a: - @make --no-print-directory -C $(LIBFT_PERSONAL_DIR) build/libmlx.a: @make --no-print-directory -C $(MLX_DIR) # Dependences for all -$(NAME): $(OBJ) build/libft.a build/libft_personal.a build/libmlx.a +$(NAME): $(OBJ) build/libft.a build/libmlx.a @mkdir -p $(OBJDIRNAME) @printf '$(GREY) Creating $(END)$(GREEN)$(OBJDIRNAME)$(END)\n' @$(CC) $(CFLAGS) $(OBJ) $(LDFLAGS) -o $(NAME) diff --git a/includes/include b/includes/include new file mode 120000 index 0000000..3a452f8 --- /dev/null +++ b/includes/include @@ -0,0 +1 @@ +../libft/include \ No newline at end of file diff --git a/includes/libft b/includes/libft deleted file mode 120000 index 21c6d09..0000000 --- a/includes/libft +++ /dev/null @@ -1 +0,0 @@ -../libft/includes/libft \ No newline at end of file diff --git a/libft/.clangd b/libft/.clangd deleted file mode 100644 index 5f65c4b..0000000 --- a/libft/.clangd +++ /dev/null @@ -1,4 +0,0 @@ -CompilerFlags: - Add: - - "-xc" - - "-I/Users/raphael/Documents/42_cursus/circle0/libft/includes" diff --git a/libft/Makefile b/libft/Makefile index edcd242..5432fca 100644 --- a/libft/Makefile +++ b/libft/Makefile @@ -3,168 +3,742 @@ # ::: :::::::: # # Makefile :+: :+: :+: # # +:+ +:+ +:+ # -# By: rparodi +#+ +:+ +#+ # +# By: bgoulard +#+ +:+ +#+ # # +#+#+#+#+#+ +#+ # -# Created: 2023/11/12 11:05:05 by rparodi #+# #+# # -# Updated: 2024/10/31 23:46:44 by bgoulard ### ########.fr # +# Created: 2023/12/05 09:04:05 by bgoulard #+# #+# # +# Updated: 2024/10/31 23:53:29 by bgoulard ### ########.fr # # # # **************************************************************************** # -# Variables - -# Name -NAME = ../build/libft.a +# Colors +GRAY = "\\e[90m" +GREEN = "\\e[42m" +RED = "\\e[41m" +RESET = "\\e[0m" +BOLD = "\\e[1m" # Commands -CC = cc -RM = rm -rf +CC = clang +NAME = ft_personal +OUTDIR = ../build -# Flags -CFLAGS = -Werror -Wextra -Wall -CFLAGS += -g3 -MMD -# CFLAGS += -lm +TEST_NAME = tests_run +AR = ar +COV = llvm-cov +PRD = llvm-profdata +ECHO = $(shell which echo) -e +PRINTF = $(shell which printf) -# CFLAGS += -fsanitize=address -# CFLAGS += -fsanitize=thread +# Directories -LDFLAGS = -L. -LDLIBS = -lft +SRC_DIR = src +BUILD_DIR = ../build/bgoulard +TESTS_DIR = tests +INC_DIR = include +COVERAGE_DIR = coverage -INCLUDES = ./includes/libft/ +FT_MAP_DIR = ft_map +FT_LIST_DIR = ft_list +FT_STRING_DIR = ft_string +FT_VEC_DIR = ft_vector +FT_OPTIONAL_DIR = ft_optional +FT_ARGS_DIR = ft_args +FT_MATH_DIR = ft_math +FT_PAIR_DIR = ft_pair -# Objects -OBJDIRNAME = ../build/rparodi -OBJ = $(addprefix $(OBJDIRNAME)/,$(SRC:.c=.o)) +# Counpound directories -SRC = char/ft_isdigit.c \ - char/ft_isalnum.c \ - char/ft_isalpha.c \ - char/ft_isascii.c \ - char/ft_isprint.c \ - char/ft_tolower.c \ - char/ft_toupper.c \ - convert/ft_atoi.c \ - convert/ft_atoll.c \ - convert/ft_itoa.c \ - list/ft_lstadd_back.c \ - list/ft_lstadd_front.c \ - list/ft_lstclear.c \ - list/ft_lstdelone.c \ - list/ft_lstiter.c \ - list/ft_lstlast.c \ - list/ft_lstmap.c \ - list/ft_lstnew.c \ - list/ft_lstsize.c \ - memory/ft_bzero.c \ - memory/ft_calloc.c \ - memory/ft_memchr.c \ - memory/ft_memcmp.c \ - memory/ft_memcpy.c \ - memory/ft_memmove.c \ - memory/ft_memset.c \ - print/ft_printf.c \ - print/ft_put.c \ - print/ft_putchar_fd.c \ - print/ft_putendl_fd.c \ - print/ft_putnbr_fd.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 \ - str/ft_strjoin.c \ - str/ft_strlcat.c \ - str/ft_strlcpy.c \ - str/ft_strlen.c \ - str/ft_strmapi.c \ - str/ft_strncmp.c \ - str/ft_strnstr.c \ - str/ft_strrchr.c \ - str/ft_strtrim.c \ - str/ft_substr.c +FT_LIST_LL_DIR = $(FT_LIST_DIR)/ft_ll +FT_LIST_DL_DIR = $(FT_LIST_DIR)/ft_dl +FT_CHR_DIR = $(FT_STRING_DIR)/ft_chr +FT_MEM_DIR = $(FT_STRING_DIR)/ft_mem +FT_STR_DIR = $(FT_STRING_DIR)/ft_str +FT_T_STRING_DIR = $(FT_STRING_DIR)/ft_string -# Colors -GREEN = \033[32m -GREY = \033[0;90m -RED = \033[0;31m -GOLD = \033[38;5;220m -END = \033[0m +# Compilation flags +## +## To change debug level run make DEBUG_LEVEL=xxx +## + +LDFLAGS = +CPPFLAGS = -I$(INC_DIR) -MMD -MP +FFLAGS =\ + -fsanitize=address -fno-omit-frame-pointer -fsanitize=undefined \ + -fsanitize=leak -fsanitize=pointer-compare \ + -fsanitize=pointer-subtract \ + -fsanitize-address-use-after-scope -fsanitize=pointer-overflow +CFLAGS =\ + -Wall -Wextra $(CPPFLAGS) -Werror -fPIC -fdiagnostics-color +TEST_FLAGS =\ + -g2 -DTEST \ + -fprofile-instr-generate -ftest-coverage -fcoverage-mapping \ + +DEBUG_LEVEL =\ + 0 +DEBUG_FLAGS =\ + -g2 -DDEBUG $(FFLAGS) -DDEBUG_LEVEL=$(DEBUG_LEVEL) + +# Inner variables + +MAX_FILE_LEN = 0 +TARGET ?= "ALL" +CLOG_FILE = ./compilation.log + +# Check for llvm-cov and llvm-profdata +# If not found, use the version 12 if available +# If not found, use the version 14 (latest version) +ifeq (, $(shell which $(COV) 2> /dev/null)) + COV = llvm-cov-12 + ifeq (, $(shell which $(COV) 2> /dev/null)) + COV = llvm-cov-14 + endif +endif + +ifeq (, $(shell which $(PRD) 2> /dev/null)) + PRD = llvm-profdata-12 + ifeq (, $(shell which $(PRD) 2> /dev/null)) + PRD = llvm-profdata-14 + endif +endif + +# Sources + +FT_PAIR_SRC = \ + $(FT_PAIR_DIR)/ft_pair_cmp.c \ + $(FT_PAIR_DIR)/ft_pair_destroy.c \ + $(FT_PAIR_DIR)/ft_pair_get.c \ + $(FT_PAIR_DIR)/ft_pair_new.c \ + $(FT_PAIR_DIR)/ft_pair_set.c \ + +FT_MATH_SRC = \ + $(FT_MATH_DIR)/ft_clamp.c \ + $(FT_MATH_DIR)/ft_complex.c \ + $(FT_MATH_DIR)/ft_intrange.c \ + $(FT_MATH_DIR)/ft_log.c \ + $(FT_MATH_DIR)/ft_minmax.c \ + $(FT_MATH_DIR)/ft_sqrt.c \ + $(FT_MATH_DIR)/ft_pow.c \ + $(FT_MATH_DIR)/ft_abs.c \ + $(FT_MATH_DIR)/ft_align.c \ + $(FT_MATH_DIR)/ft_round.c + +FT_MAP_SRC = \ + $(FT_MAP_DIR)/ft_map_clear.c \ + $(FT_MAP_DIR)/ft_map_create.c \ + $(FT_MAP_DIR)/ft_map_destroy.c \ + $(FT_MAP_DIR)/ft_map_get.c \ + $(FT_MAP_DIR)/ft_map_hash.c \ + $(FT_MAP_DIR)/ft_map_remove.c \ + $(FT_MAP_DIR)/ft_map_set.c + +FT_LIST_LL_SRC = \ + $(FT_LIST_LL_DIR)/ft_ll_find.c \ + $(FT_LIST_LL_DIR)/ft_ll_add.c \ + $(FT_LIST_LL_DIR)/ft_ll_clear.c \ + $(FT_LIST_LL_DIR)/ft_ll_delete.c \ + $(FT_LIST_LL_DIR)/ft_ll_apply.c \ + $(FT_LIST_LL_DIR)/ft_ll_iterator.c \ + $(FT_LIST_LL_DIR)/ft_ll_map.c \ + $(FT_LIST_LL_DIR)/ft_ll_new.c \ + $(FT_LIST_LL_DIR)/ft_ll_rev.c \ + $(FT_LIST_LL_DIR)/ft_ll_size.c \ + $(FT_LIST_LL_DIR)/ft_ll_create.c \ + $(FT_LIST_LL_DIR)/ft_ll_getters.c \ + $(FT_LIST_LL_DIR)/ft_ll_pushpop.c \ + $(FT_LIST_LL_DIR)/ft_ll_sub.c \ + +FT_LIST_DL_SRC = \ + $(FT_LIST_DL_DIR)/ft_dl_apply.c \ + $(FT_LIST_DL_DIR)/ft_dl_clear.c \ + $(FT_LIST_DL_DIR)/ft_dl_create.c \ + $(FT_LIST_DL_DIR)/ft_dl_delete.c \ + $(FT_LIST_DL_DIR)/ft_dl_getters.c \ + $(FT_LIST_DL_DIR)/ft_dl_iterator.c \ + $(FT_LIST_DL_DIR)/ft_dl_pushpop.c \ + $(FT_LIST_DL_DIR)/ft_dl_size.c \ + $(FT_LIST_DL_DIR)/ft_dl_sub.c \ + $(FT_LIST_DL_DIR)/ft_dl_add.c \ + $(FT_LIST_DL_DIR)/ft_dl_rev.c \ + $(FT_LIST_DL_DIR)/ft_dl_map.c \ + $(FT_LIST_DL_DIR)/ft_dl_new.c \ + $(FT_LIST_DL_DIR)/ft_dl_find.c \ + +FT_STR_SRC = \ + $(FT_STR_DIR)/ft_atof.c \ + $(FT_STR_DIR)/ft_atoi.c \ + $(FT_STR_DIR)/ft_atoi_base.c \ + $(FT_STR_DIR)/ft_itoa.c \ + $(FT_STR_DIR)/ft_itoa_base.c \ + $(FT_STR_DIR)/ft_perror.c \ + $(FT_STR_DIR)/ft_putendl_fd.c \ + $(FT_STR_DIR)/ft_putnbr_fd.c \ + $(FT_STR_DIR)/ft_putstr_fd.c \ + $(FT_STR_DIR)/ft_shift_args.c \ + $(FT_STR_DIR)/ft_split.c \ + $(FT_STR_DIR)/ft_splits.c \ + $(FT_STR_DIR)/ft_str_isalpha.c \ + $(FT_STR_DIR)/ft_str_isalnum.c \ + $(FT_STR_DIR)/ft_str_isbool.c \ + $(FT_STR_DIR)/ft_str_isdigit.c \ + $(FT_STR_DIR)/ft_str_isfloat.c \ + $(FT_STR_DIR)/ft_str_ishex.c \ + $(FT_STR_DIR)/ft_str_isdouble.c \ + $(FT_STR_DIR)/ft_str_isint.c \ + $(FT_STR_DIR)/ft_str_islong.c \ + $(FT_STR_DIR)/ft_str_isnum.c \ + $(FT_STR_DIR)/ft_str_isoct.c \ + $(FT_STR_DIR)/ft_str_isvalid.c \ + $(FT_STR_DIR)/ft_str_replace.c \ + $(FT_STR_DIR)/ft_strappend_c.c \ + $(FT_STR_DIR)/ft_strchr.c \ + $(FT_STR_DIR)/ft_strclen.c \ + $(FT_STR_DIR)/ft_strcmp.c \ + $(FT_STR_DIR)/ft_strcnb.c \ + $(FT_STR_DIR)/ft_strcspn.c \ + $(FT_STR_DIR)/ft_strdup.c \ + $(FT_STR_DIR)/ft_strend_with.c \ + $(FT_STR_DIR)/ft_strerror.c \ + $(FT_STR_DIR)/ft_striteri.c \ + $(FT_STR_DIR)/ft_strjoin.c \ + $(FT_STR_DIR)/ft_strlcat.c \ + $(FT_STR_DIR)/ft_strlcpy.c \ + $(FT_STR_DIR)/ft_strlen.c \ + $(FT_STR_DIR)/ft_strmapi.c \ + $(FT_STR_DIR)/ft_strncmp.c \ + $(FT_STR_DIR)/ft_strndup.c \ + $(FT_STR_DIR)/ft_strnstr.c \ + $(FT_STR_DIR)/ft_strrchr.c \ + $(FT_STR_DIR)/ft_strspn.c \ + $(FT_STR_DIR)/ft_strstart_with.c \ + $(FT_STR_DIR)/ft_strtok.c \ + $(FT_STR_DIR)/ft_strtrim.c \ + $(FT_STR_DIR)/ft_substr.c \ + $(FT_STR_DIR)/ft_utoa.c \ + $(FT_STR_DIR)/get_next_line.c \ + +FT_T_STRING_SRC = \ + $(FT_T_STRING_DIR)/ft_string_append.c \ + $(FT_T_STRING_DIR)/ft_string_new.c \ + $(FT_T_STRING_DIR)/ft_string_put.c \ + $(FT_T_STRING_DIR)/ft_string_from.c \ + $(FT_T_STRING_DIR)/ft_string_clear.c \ + $(FT_T_STRING_DIR)/ft_string_destroy.c \ + $(FT_T_STRING_DIR)/ft_string_insert.c \ + $(FT_T_STRING_DIR)/ft_string_reserve.c \ + $(FT_T_STRING_DIR)/ft_string_resize.c \ + $(FT_T_STRING_DIR)/ft_string_shrink.c \ + $(FT_T_STRING_DIR)/ft_string_substr.c \ + $(FT_T_STRING_DIR)/ft_string_to_str.c \ + $(FT_T_STRING_DIR)/ft_string_trim.c \ + $(FT_T_STRING_DIR)/ft_string_cmp.c \ + $(FT_T_STRING_DIR)/ft_string_get.c \ + $(FT_T_STRING_DIR)/ft_string_chr.c \ + $(FT_T_STRING_DIR)/ft_string_replace.c \ + $(FT_T_STRING_DIR)/ft_string_set.c + +FT_MEM_SRC = \ + $(FT_MEM_DIR)/ft_apply_2d.c \ + $(FT_MEM_DIR)/ft_bzero.c \ + $(FT_MEM_DIR)/ft_calloc.c \ + $(FT_MEM_DIR)/ft_fd_to_buff.c \ + $(FT_MEM_DIR)/ft_free.c \ + $(FT_MEM_DIR)/ft_free_2d.c \ + $(FT_MEM_DIR)/ft_len_2d.c \ + $(FT_MEM_DIR)/ft_malloc.c \ + $(FT_MEM_DIR)/ft_memchr.c \ + $(FT_MEM_DIR)/ft_memcmp.c \ + $(FT_MEM_DIR)/ft_memcpy.c \ + $(FT_MEM_DIR)/ft_memmap.c \ + $(FT_MEM_DIR)/ft_memmove.c \ + $(FT_MEM_DIR)/ft_memset.c \ + $(FT_MEM_DIR)/ft_qsort.c \ + $(FT_MEM_DIR)/ft_realloc.c \ + $(FT_MEM_DIR)/ft_swap.c + +FT_CHR_SRC = \ + $(FT_CHR_DIR)/ft_isalnum.c \ + $(FT_CHR_DIR)/ft_isalpha.c \ + $(FT_CHR_DIR)/ft_isascii.c \ + $(FT_CHR_DIR)/ft_isdigit.c \ + $(FT_CHR_DIR)/ft_ishexdigit.c \ + $(FT_CHR_DIR)/ft_islower.c \ + $(FT_CHR_DIR)/ft_isoctdigit.c \ + $(FT_CHR_DIR)/ft_isprint.c \ + $(FT_CHR_DIR)/ft_isspace.c \ + $(FT_CHR_DIR)/ft_isupper.c \ + $(FT_CHR_DIR)/ft_putchar_fd.c \ + $(FT_CHR_DIR)/ft_tolower.c \ + $(FT_CHR_DIR)/ft_toupper.c + +FT_VEC_SRC = \ + $(FT_VEC_DIR)/ft_vec_add.c \ + $(FT_VEC_DIR)/ft_vec_apply.c \ + $(FT_VEC_DIR)/ft_vec_at.c \ + $(FT_VEC_DIR)/ft_vec_cat.c \ + $(FT_VEC_DIR)/ft_vec_clear.c \ + $(FT_VEC_DIR)/ft_vec_destroy.c \ + $(FT_VEC_DIR)/ft_vec_filter.c \ + $(FT_VEC_DIR)/ft_vec_get.c \ + $(FT_VEC_DIR)/ft_vec_map.c \ + $(FT_VEC_DIR)/ft_vec_new.c \ + $(FT_VEC_DIR)/ft_vec_pop.c \ + $(FT_VEC_DIR)/ft_vec_remove.c \ + $(FT_VEC_DIR)/ft_vec_reserve.c \ + $(FT_VEC_DIR)/ft_vec_reverse.c \ + $(FT_VEC_DIR)/ft_vec_shift.c \ + $(FT_VEC_DIR)/ft_vec_shrink.c \ + $(FT_VEC_DIR)/ft_vec_sort.c \ + $(FT_VEC_DIR)/ft_vec_swap.c \ + $(FT_VEC_DIR)/ft_vec_to_array.c + +FT_OPTIONAL_SRC = \ + $(FT_OPTIONAL_DIR)/ft_optional_chain.c \ + $(FT_OPTIONAL_DIR)/ft_optional_copy.c \ + $(FT_OPTIONAL_DIR)/ft_optional_destroy.c \ + $(FT_OPTIONAL_DIR)/ft_optional_new.c \ + $(FT_OPTIONAL_DIR)/ft_optional_unwrap.c + +FT_ARGS_SRC = \ + $(FT_ARGS_DIR)/ft_arg_custom_checker.c \ + $(FT_ARGS_DIR)/ft_parse_args.c \ + $(FT_ARGS_DIR)/ft_parse_err.c \ + $(FT_ARGS_DIR)/ft_parse_opt.c \ + $(FT_ARGS_DIR)/ft_progname.c \ + $(FT_ARGS_DIR)/ft_set_opt_args.c \ + $(FT_ARGS_DIR)/ft_setup_prog.c \ + $(FT_ARGS_DIR)/ft_version.c + +# Counpound sources + +FT_LIST_SRC = \ + $(FT_LIST_LL_SRC) \ + $(FT_LIST_DL_SRC) \ + +FT_STRING_SRC = \ + $(FT_CHR_SRC) \ + $(FT_MEM_SRC) \ + $(FT_STR_SRC) \ + $(FT_T_STRING_SRC) + +# Tests sources + +TESTS_SRC =\ + $(TESTS_DIR)/ft_args/tests_custom_checker.c \ + $(TESTS_DIR)/ft_args/tests_optlist.c \ + $(TESTS_DIR)/ft_args/tests_progname.c \ + $(TESTS_DIR)/ft_args/tests_version.c \ + $(TESTS_DIR)/ft_args/tests_setup_prog.c \ + $(TESTS_DIR)/ft_args/args_tests.c \ + \ + $(TESTS_DIR)/ft_list/ll_tests/ll_tests_utils.c \ + $(TESTS_DIR)/ft_list/ll_tests/ll_list_tests.c \ + $(TESTS_DIR)/ft_list/ll_tests/tests_list_push.c \ + $(TESTS_DIR)/ft_list/ll_tests/tests_list_new.c \ + $(TESTS_DIR)/ft_list/ll_tests/tests_list_map.c \ + $(TESTS_DIR)/ft_list/ll_tests/tests_list_rev.c \ + $(TESTS_DIR)/ft_list/ll_tests/tests_list_sizers.c \ + $(TESTS_DIR)/ft_list/ll_tests/tests_list_apply.c \ + $(TESTS_DIR)/ft_list/ll_tests/tests_list_iterators.c \ + $(TESTS_DIR)/ft_list/ll_tests/tests_list_clear.c \ + $(TESTS_DIR)/ft_list/ll_tests/tests_list_copy.c \ + $(TESTS_DIR)/ft_list/ll_tests/tests_list_create.c \ + $(TESTS_DIR)/ft_list/ll_tests/tests_list_deletors.c \ + $(TESTS_DIR)/ft_list/ll_tests/tests_list_find.c \ + $(TESTS_DIR)/ft_list/ll_tests/tests_list_get.c \ + $(TESTS_DIR)/ft_list/ll_tests/tests_list_subrange.c \ + $(TESTS_DIR)/ft_list/ll_tests/tests_list_add.c \ + $(TESTS_DIR)/ft_list/dl_tests/dl_tests_utils.c \ + $(TESTS_DIR)/ft_list/dl_tests/dl_list_tests.c \ + $(TESTS_DIR)/ft_list/dl_tests/tests_dlist_add.c \ + $(TESTS_DIR)/ft_list/dl_tests/tests_dlist_clear.c \ + $(TESTS_DIR)/ft_list/dl_tests/tests_dlist_copy.c \ + $(TESTS_DIR)/ft_list/dl_tests/tests_dlist_create.c \ + $(TESTS_DIR)/ft_list/dl_tests/tests_dlist_delete.c \ + $(TESTS_DIR)/ft_list/dl_tests/tests_dlist_iterators.c \ + $(TESTS_DIR)/ft_list/dl_tests/tests_dlist_get.c \ + $(TESTS_DIR)/ft_list/dl_tests/tests_dlist_subrange.c \ + $(TESTS_DIR)/ft_list/dl_tests/tests_dlist_map.c \ + $(TESTS_DIR)/ft_list/dl_tests/tests_dlist_new.c \ + $(TESTS_DIR)/ft_list/dl_tests/tests_dlist_push.c \ + $(TESTS_DIR)/ft_list/dl_tests/tests_dlist_rev.c \ + $(TESTS_DIR)/ft_list/dl_tests/tests_dlist_sizers.c \ + $(TESTS_DIR)/ft_list/dl_tests/tests_dlist_apply.c \ + $(TESTS_DIR)/ft_list/dl_tests/tests_dlist_find.c \ + \ + $(TESTS_DIR)/ft_map/map_tests.c \ + $(TESTS_DIR)/ft_map/tests_map_remove.c \ + $(TESTS_DIR)/ft_map/tests_map_hash.c \ + $(TESTS_DIR)/ft_map/tests_map_create.c \ + $(TESTS_DIR)/ft_map/tests_map_destroy.c \ + $(TESTS_DIR)/ft_map/tests_map_set_cmphash.c \ + $(TESTS_DIR)/ft_map/tests_map_get.c \ + $(TESTS_DIR)/ft_map/tests_map_size.c \ + $(TESTS_DIR)/ft_map/tests_map_cappacity.c \ + $(TESTS_DIR)/ft_map/tests_map_clear.c \ + $(TESTS_DIR)/ft_map/tests_map_set.c \ + \ + $(TESTS_DIR)/ft_math/tests_abs.c \ + $(TESTS_DIR)/ft_math/tests_align.c \ + $(TESTS_DIR)/ft_math/tests_clamp.c \ + $(TESTS_DIR)/ft_math/tests_complex.c \ + $(TESTS_DIR)/ft_math/tests_intrange.c \ + $(TESTS_DIR)/ft_math/tests_log.c \ + $(TESTS_DIR)/ft_math/tests_minmax.c \ + $(TESTS_DIR)/ft_math/tests_pow.c \ + $(TESTS_DIR)/ft_math/tests_sqrt.c \ + $(TESTS_DIR)/ft_math/tests_round.c \ + $(TESTS_DIR)/ft_math/math_tests.c \ + \ + $(TESTS_DIR)/ft_optional/tests_optional_chain.c \ + $(TESTS_DIR)/ft_optional/tests_optional_copy.c \ + $(TESTS_DIR)/ft_optional/tests_optional_destroy.c \ + $(TESTS_DIR)/ft_optional/tests_optional_dup.c \ + $(TESTS_DIR)/ft_optional/tests_optional_from_val.c \ + $(TESTS_DIR)/ft_optional/tests_optional_map.c \ + $(TESTS_DIR)/ft_optional/tests_optional_new.c \ + $(TESTS_DIR)/ft_optional/tests_optional_unwrap.c \ + $(TESTS_DIR)/ft_optional/optional_tests.c \ + \ + $(TESTS_DIR)/ft_pair/tests_pair_cmp.c \ + $(TESTS_DIR)/ft_pair/tests_pair_cmp_first.c \ + $(TESTS_DIR)/ft_pair/tests_pair_cmp_second.c \ + $(TESTS_DIR)/ft_pair/tests_pair_destroy.c \ + $(TESTS_DIR)/ft_pair/tests_pair_get_first.c \ + $(TESTS_DIR)/ft_pair/tests_pair_get_second.c \ + $(TESTS_DIR)/ft_pair/tests_pair_new.c \ + $(TESTS_DIR)/ft_pair/tests_pair_set.c \ + $(TESTS_DIR)/ft_pair/pair_tests.c \ + \ + $(TESTS_DIR)/ft_string/ft_char/tests_isalnum.c \ + $(TESTS_DIR)/ft_string/ft_char/tests_isalpha.c \ + $(TESTS_DIR)/ft_string/ft_char/tests_isascii.c \ + $(TESTS_DIR)/ft_string/ft_char/tests_isdigit.c \ + $(TESTS_DIR)/ft_string/ft_char/tests_ishexdigit.c \ + $(TESTS_DIR)/ft_string/ft_char/tests_isoctdigit.c \ + $(TESTS_DIR)/ft_string/ft_char/tests_isspace.c \ + $(TESTS_DIR)/ft_string/ft_char/tests_isprint.c \ + $(TESTS_DIR)/ft_string/ft_char/tests_puchar.c \ + $(TESTS_DIR)/ft_string/ft_char/tests_tolower.c \ + $(TESTS_DIR)/ft_string/ft_char/tests_toupper.c \ + $(TESTS_DIR)/ft_string/ft_char/ft_char_tests.c \ + \ + $(TESTS_DIR)/ft_string/ft_mem/tests_apply_2d.c \ + $(TESTS_DIR)/ft_string/ft_mem/tests_bzero.c \ + $(TESTS_DIR)/ft_string/ft_mem/tests_calloc.c \ + $(TESTS_DIR)/ft_string/ft_mem/tests_fd_to_buff.c \ + $(TESTS_DIR)/ft_string/ft_mem/tests_free.c \ + $(TESTS_DIR)/ft_string/ft_mem/tests_free_2d.c \ + $(TESTS_DIR)/ft_string/ft_mem/tests_len_2d.c \ + $(TESTS_DIR)/ft_string/ft_mem/tests_memchr.c \ + $(TESTS_DIR)/ft_string/ft_mem/tests_memcmp.c \ + $(TESTS_DIR)/ft_string/ft_mem/tests_memcpy.c \ + $(TESTS_DIR)/ft_string/ft_mem/tests_memmap.c \ + $(TESTS_DIR)/ft_string/ft_mem/tests_memmove.c \ + $(TESTS_DIR)/ft_string/ft_mem/tests_memset.c \ + $(TESTS_DIR)/ft_string/ft_mem/tests_qsort.c \ + $(TESTS_DIR)/ft_string/ft_mem/tests_realloc.c \ + $(TESTS_DIR)/ft_string/ft_mem/tests_swap.c \ + $(TESTS_DIR)/ft_string/ft_mem/mem_tests.c \ + \ + $(TESTS_DIR)/ft_string/ft_str/test_atoi_base.c \ + $(TESTS_DIR)/ft_string/ft_str/test_atoi.c \ + $(TESTS_DIR)/ft_string/ft_str/test_atof.c \ + $(TESTS_DIR)/ft_string/ft_str/test_gnl.c \ + $(TESTS_DIR)/ft_string/ft_str/test_itoa_base.c \ + $(TESTS_DIR)/ft_string/ft_str/test_itoa.c \ + $(TESTS_DIR)/ft_string/ft_str/test_putendl.c \ + $(TESTS_DIR)/ft_string/ft_str/test_putnbr.c \ + $(TESTS_DIR)/ft_string/ft_str/test_putstr.c \ + $(TESTS_DIR)/ft_string/ft_str/test_shift_args.c \ + $(TESTS_DIR)/ft_string/ft_str/test_split.c \ + $(TESTS_DIR)/ft_string/ft_str/test_splits.c \ + $(TESTS_DIR)/ft_string/ft_str/test_str_isalpha.c \ + $(TESTS_DIR)/ft_string/ft_str/test_str_isalnum.c \ + $(TESTS_DIR)/ft_string/ft_str/test_str_isdouble.c \ + $(TESTS_DIR)/ft_string/ft_str/test_str_isdigit.c \ + $(TESTS_DIR)/ft_string/ft_str/test_str_isbool.c \ + $(TESTS_DIR)/ft_string/ft_str/test_str_isfloat.c \ + $(TESTS_DIR)/ft_string/ft_str/test_str_ishex.c \ + $(TESTS_DIR)/ft_string/ft_str/test_str_isint.c \ + $(TESTS_DIR)/ft_string/ft_str/test_str_islong.c \ + $(TESTS_DIR)/ft_string/ft_str/test_str_isnum.c \ + $(TESTS_DIR)/ft_string/ft_str/test_str_isoct.c \ + $(TESTS_DIR)/ft_string/ft_str/test_str_isvalid.c \ + $(TESTS_DIR)/ft_string/ft_str/test_strchr.c \ + $(TESTS_DIR)/ft_string/ft_str/test_strclen.c \ + $(TESTS_DIR)/ft_string/ft_str/test_strcmp.c \ + $(TESTS_DIR)/ft_string/ft_str/test_strcnb.c \ + $(TESTS_DIR)/ft_string/ft_str/test_strcspn.c \ + $(TESTS_DIR)/ft_string/ft_str/test_strdup.c \ + $(TESTS_DIR)/ft_string/ft_str/test_strend_with.c \ + $(TESTS_DIR)/ft_string/ft_str/test_striteri.c \ + $(TESTS_DIR)/ft_string/ft_str/test_strjoin.c \ + $(TESTS_DIR)/ft_string/ft_str/test_strlcat.c \ + $(TESTS_DIR)/ft_string/ft_str/test_strlcpy.c \ + $(TESTS_DIR)/ft_string/ft_str/test_strlen.c \ + $(TESTS_DIR)/ft_string/ft_str/test_strmapi.c \ + $(TESTS_DIR)/ft_string/ft_str/test_strncmp.c \ + $(TESTS_DIR)/ft_string/ft_str/test_strndup.c \ + $(TESTS_DIR)/ft_string/ft_str/test_strnstr.c \ + $(TESTS_DIR)/ft_string/ft_str/test_strrchr.c \ + $(TESTS_DIR)/ft_string/ft_str/test_strspn.c \ + $(TESTS_DIR)/ft_string/ft_str/test_strstart_with.c \ + $(TESTS_DIR)/ft_string/ft_str/test_str_replace.c \ + $(TESTS_DIR)/ft_string/ft_str/test_str_replace_chr.c \ + $(TESTS_DIR)/ft_string/ft_str/test_strappend_c.c \ + $(TESTS_DIR)/ft_string/ft_str/test_strtok.c \ + $(TESTS_DIR)/ft_string/ft_str/test_strtrim.c \ + $(TESTS_DIR)/ft_string/ft_str/test_substr.c \ + $(TESTS_DIR)/ft_string/ft_str/test_utoa.c \ + $(TESTS_DIR)/ft_string/ft_str/str_tests.c \ + $(TESTS_DIR)/ft_string/string_tests.c \ + \ + $(TESTS_DIR)/ft_string/ft_string/test_append.c \ + $(TESTS_DIR)/ft_string/ft_string/test_append_c.c \ + $(TESTS_DIR)/ft_string/ft_string/test_append_n.c \ + $(TESTS_DIR)/ft_string/ft_string/test_append_s.c \ + $(TESTS_DIR)/ft_string/ft_string/test_append_sn.c \ + $(TESTS_DIR)/ft_string/ft_string/test_cap.c \ + $(TESTS_DIR)/ft_string/ft_string/test_chr.c \ + $(TESTS_DIR)/ft_string/ft_string/test_clear.c \ + $(TESTS_DIR)/ft_string/ft_string/test_cmp.c \ + $(TESTS_DIR)/ft_string/ft_string/test_cmp_str.c \ + $(TESTS_DIR)/ft_string/ft_string/test_destroy.c \ + $(TESTS_DIR)/ft_string/ft_string/test_from.c \ + $(TESTS_DIR)/ft_string/ft_string/test_from_c.c \ + $(TESTS_DIR)/ft_string/ft_string/test_from_n.c \ + $(TESTS_DIR)/ft_string/ft_string/test_from_s.c \ + $(TESTS_DIR)/ft_string/ft_string/test_from_sn.c \ + $(TESTS_DIR)/ft_string/ft_string/test_get.c \ + $(TESTS_DIR)/ft_string/ft_string/test_insert.c \ + $(TESTS_DIR)/ft_string/ft_string/test_insert_c.c \ + $(TESTS_DIR)/ft_string/ft_string/test_insert_n.c \ + $(TESTS_DIR)/ft_string/ft_string/test_insert_s.c \ + $(TESTS_DIR)/ft_string/ft_string/test_insert_sn.c \ + $(TESTS_DIR)/ft_string/ft_string/test_len.c \ + $(TESTS_DIR)/ft_string/ft_string/test_ncmp.c \ + $(TESTS_DIR)/ft_string/ft_string/test_ncmp_str.c \ + $(TESTS_DIR)/ft_string/ft_string/test_new.c \ + $(TESTS_DIR)/ft_string/ft_string/test_offset.c \ + $(TESTS_DIR)/ft_string/ft_string/test_put.c \ + $(TESTS_DIR)/ft_string/ft_string/test_rchr.c \ + $(TESTS_DIR)/ft_string/ft_string/test_replace.c \ + $(TESTS_DIR)/ft_string/ft_string/test_replace_chr.c \ + $(TESTS_DIR)/ft_string/ft_string/test_reserve.c \ + $(TESTS_DIR)/ft_string/ft_string/test_resize.c \ + $(TESTS_DIR)/ft_string/ft_string/test_roffset.c \ + $(TESTS_DIR)/ft_string/ft_string/test_set.c \ + $(TESTS_DIR)/ft_string/ft_string/test_set_inplace.c \ + $(TESTS_DIR)/ft_string/ft_string/test_set_n.c \ + $(TESTS_DIR)/ft_string/ft_string/test_shrink.c \ + $(TESTS_DIR)/ft_string/ft_string/test_substr.c \ + $(TESTS_DIR)/ft_string/ft_string/test_to_str.c \ + $(TESTS_DIR)/ft_string/ft_string/test_trim.c \ + $(TESTS_DIR)/ft_string/ft_string/test_trim_chr.c \ + $(TESTS_DIR)/ft_string/ft_string/test_trimstr.c \ + $(TESTS_DIR)/ft_string/ft_string/t_string_tests.c \ + \ + $(TESTS_DIR)/ft_vector/tests_vec_add.c \ + $(TESTS_DIR)/ft_vector/tests_vec_apply.c \ + $(TESTS_DIR)/ft_vector/tests_vec_at.c \ + $(TESTS_DIR)/ft_vector/tests_vec_cat.c \ + $(TESTS_DIR)/ft_vector/tests_vec_clear.c \ + $(TESTS_DIR)/ft_vector/tests_vec_convert_alloc_array.c \ + $(TESTS_DIR)/ft_vector/tests_vec_destroy.c \ + $(TESTS_DIR)/ft_vector/tests_vec_filter.c \ + $(TESTS_DIR)/ft_vector/tests_vec_from_array.c \ + $(TESTS_DIR)/ft_vector/tests_vec_from_size.c \ + $(TESTS_DIR)/ft_vector/tests_vec_get.c \ + $(TESTS_DIR)/ft_vector/tests_vec_map.c \ + $(TESTS_DIR)/ft_vector/tests_vec_new.c \ + $(TESTS_DIR)/ft_vector/tests_vec_pop.c \ + $(TESTS_DIR)/ft_vector/tests_vec_remove.c \ + $(TESTS_DIR)/ft_vector/tests_vec_remove_if.c \ + $(TESTS_DIR)/ft_vector/tests_vec_reserve.c \ + $(TESTS_DIR)/ft_vector/tests_vec_reverse.c \ + $(TESTS_DIR)/ft_vector/tests_vec_shift.c \ + $(TESTS_DIR)/ft_vector/tests_vec_shrink.c \ + $(TESTS_DIR)/ft_vector/tests_vec_sort.c \ + $(TESTS_DIR)/ft_vector/tests_vec_swap.c \ + $(TESTS_DIR)/ft_vector/tests_vec_to_array.c \ + $(TESTS_DIR)/ft_vector/vector_tests.c \ + \ + $(TESTS_DIR)/main_tests.c \ + $(TESTS_DIR)/lambdas_for_tests.c \ + $(TESTS_DIR)/tests_utils.c + +# Inner variables for targets + +STABLE = \ + $(FT_MATH_SRC) \ + $(FT_LIST_SRC) \ + $(FT_VEC_SRC) \ + $(FT_STRING_SRC) \ + $(FT_MAP_SRC) \ + $(FT_OPTIONAL_SRC) \ + $(FT_ARGS_SRC) \ + $(FT_PAIR_SRC) \ + +UNSTABLE = \ + +INNER_SRC = \ + $(STABLE) + +# Check if user wants to compile unstable sources +# to compile unstable sources run make with TARGET=UNSTABLE +ifeq (UNSTABLE, $(findstring UNSTABLE, $(TARGET))) +INNER_SRC += \ + $(UNSTABLE) +endif +# Check if user wants to compile all sources +# to compile all sources run make with TARGET=ALL +ifeq (ALL, $(findstring ALL, $(TARGET))) +INNER_SRC = \ + $(STABLE) \ + $(UNSTABLE) +endif + +# Objects creation + +# add prefix to sources to specify the directory src/ +SRCS = $(addprefix $(SRC_DIR)/, $(INNER_SRC)) + +# add prefix to sources to specify the directory build/ for objects +OBJ = $(patsubst %.c, %.o, $(addprefix $(BUILD_DIR)/,$(INNER_SRC))) + +# add prefix to sources to specify the directory build/tests/ for test objects +TOBJ = $(patsubst %.c, %.o, $(addprefix $(BUILD_DIR)/$(TESTS_DIR)/,$(INNER_SRC))) +TOBJ += $(patsubst %.c, %.o, $(addprefix $(BUILD_DIR)/,$(TESTS_SRC))) + +# Inner variables for rules + +# Get the max length of the sources names to align the output +MAX_FILE_LEN = $(shell $(PRINTF) "%s\n" $(SRCS) | \ + awk '{print length}' | sort -n | tail -1) # Rules -# 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) Be Carefull ur in $(END)$(GREEN)Debug Mode$(END)\n' - @cc $(CFLAGS) -D BONUS=1 -o $(NAME) $(OBJ) $(LIB_OBJ) - -# Clean (make clean) -clean: - @printf '$(GREY) Removing $(END)$(RED)Objects$(END)\n' - @printf '$(GREY) Removing $(END)$(RED)Objects Folder$(END)\n' - @$(RM) $(OBJDIRNAME) - -# Clean (make fclean) -fclean: clean - @printf '$(GREY) Removing $(END)$(RED)Program$(END)\n' - @$(RM) $(NAME) - @echo "" - -# Restart (make re) -re: header fclean all - -# Dependences for all -$(NAME): $(OBJ) - @mkdir -p $(OBJDIRNAME) - @ar rc $(NAME) $(OBJ) - @ranlib $(NAME) - -# Creating the objects -$(OBJDIRNAME)/%.o: %.c +# Default rule for objects imported from src/ +$(BUILD_DIR)/%.o: $(SRC_DIR)/%.c + @$(ECHO) -n $(GRAY) "building from " + @$(PRINTF) "%*s ... "$(RESET) $(MAX_FILE_LEN) $< @mkdir -p $(dir $@) - @printf '$(GREY) Compiling $(END)$(GREEN)$<$(END)\n' - @cc $(CFLAGS) -o $@ -c $< -I$(INCLUDES) + @( $(CC) $(CFLAGS) -c $< -o $@ 2>> $(CLOG_FILE) && \ + $(ECHO) $(GREEN) "Success" $(RESET) ) || \ + $(ECHO) $(RED) "Failed" $(RESET) \ + $(BOLD) "see:" $(CLOG_FILE) $(RESET) -# Header -header: - @clear - @printf '\n\n' - @printf '$(GOLD) ******* ****** ******* $(END)\n' - @printf '$(GOLD) ****** *** ******* $(END)\n' - @printf '$(GOLD) ******* * ******* $(END)\n' - @printf '$(GOLD) ****** ******* $(END)\n' - @printf '$(GOLD) ******* ******* $(END)\n' - @printf '$(GOLD) ******************* ******* * $(END)\n' - @printf '$(GOLD) ******************* ******* *** $(END)\n' - @printf '$(GOLD) ****** ******* ****** $(END)\n' - @printf '$(GOLD) ****** $(END)\n' - @printf '$(GOLD) ****** $(END)\n' - @printf '$(GREY) Made by rparodi$(END)\n\n' +# Rule for tests objects imported from src/ +$(BUILD_DIR)/$(TESTS_DIR)/%.o: $(SRC_DIR)/%.c + @$(ECHO) -n $(GRAY) "building from " $< "..." $(RESET) + @mkdir -p $(dir $@) + @( $(CC) $(CFLAGS) $(TEST_FLAGS) -c $< -o $@ \ + 2>> $(CLOG_FILE) && \ + $(ECHO) $(GREEN) "Success" $(RESET) ) || \ + $(ECHO) $(RED) "Failed" $(RESET) \ + $(BOLD) "see:" $(CLOG_FILE) $(RESET) -# Footer -footer: - @printf "\n" - @printf "$(GOLD) ,_ _,$(END)\n" - @printf "$(GOLD) | \\___//|$(END)\n" - @printf "$(GOLD) |=6 6=|$(END)\n" - @printf "$(GOLD) \\=._Y_.=/$(END)\n" - @printf "$(GOLD) ) \` ( ,$(END)\n" - @printf "$(GOLD) / \\ (('$(END)\n" - @printf "$(GOLD) | | ))$(END)\n" - @printf "$(GOLD) /| | | |\\_//$(END)\n" - @printf "$(GOLD) \\| |._.| |/-\`$(END)\n" - @printf "$(GOLD) '\"' '\"'$(END)\n" - @printf ' $(GREY)The compilation is$(END) $(GOLD)finish$(END)\n $(GREY)Have a good $(END)$(GOLD)correction !$(END)\n' +# Rule for tests objects imported from tests/ +$(BUILD_DIR)/$(TESTS_DIR)/%.o: $(TESTS_DIR)/%.c + @$(ECHO) -n $(GRAY) "building from " $< "..." $(RESET) + @mkdir -p $(dir $@) + @( $(CC) $(CFLAGS) $(TEST_FLAGS) -c $< -o $@ \ + 2>> $(CLOG_FILE) && \ + $(ECHO) $(GREEN) "Success" $(RESET) ) || \ + $(ECHO) $(RED) "Failed" $(RESET) \ + $(BOLD) "see:" $(CLOG_FILE) $(RESET) -# Phony -.PHONY: all bonus clean fclean re +# Default rule +all: $(OUTDIR)/lib$(NAME).a --include ${OBJ:.o=.d} +tmp: + @echo $(SRCS) + +so: $(OUTDIR)/lib$(NAME).so + +# Rule for shared library +$(OUTDIR)/lib$(NAME).so: $(OBJ) + @$(ECHO) -n $(GRAY) "Making ... " $(RESET) $(BOLD) \ + "$(OUTDIR)/lib$(NAME).so" $(RESET) $(GRAY) " ... " $(RESET) + @( $(CC) -shared -o $(OUTDIR)/lib$(NAME).so $(OBJ) 2> /dev/null && \ + $(ECHO) $(GREEN) "Success" $(RESET) && $(RM) $(CLOG_FILE) ) || \ + $(ECHO) $(RED) "Failed" $(RESET) "see:" $(CLOG_FILE) + +# Rule for static library +$(OUTDIR)/lib$(NAME).a: $(OBJ) + @$(ECHO) -n $(GRAY) "Making ... " $(RESET) $(BOLD) \ + "$(OUTDIR)/lib$(NAME).a" $(RESET) $(GRAY) " ... " $(RESET) + @( $(AR) -rcs $(OUTDIR)/lib$(NAME).a $(OBJ) 2> /dev/null && \ + $(ECHO) $(GREEN) "Success" $(RESET) && $(RM) $(CLOG_FILE) ) || \ + $(ECHO) $(RED) "Failed" $(RESET) "see:" $(CLOG_FILE) + +# Rule to compile and run tests +$(TEST_NAME): $(TOBJ) + @$(ECHO) -n $(GRAY) "Compiling tests ... " $(RESET) + @$(CC) $(CFLAGS) $(TOBJ) -o $(TEST_NAME) $(TEST_FLAGS) \ + $(LDFLAGS) -lgcov \ + 2>> $(CLOG_FILE) && \ + $(ECHO) $(GREEN) "Success" $(RESET) || \ + $(ECHO) $(RED) "Failed" $(RESET) + @$(ECHO) -n $(GRAY) "Running tests ... " $(RESET) && \ + ./$(TEST_NAME) && \ + $(ECHO) $(GREEN) "Success" $(RESET) || \ + $(ECHO) $(RED) "Failed" $(RESET) + +# Rule to generate coverage using llvm +$(COVERAGE_DIR): $(TEST_NAME) + @$(ECHO) -n $(GRAY) "Generating profraw ... " $(RESET) && \ + ./$(TEST_NAME) && \ + $(ECHO) -n $(GRAY) " profdata ... " $(RESET) && \ + $(PRD) merge -sparse default.profraw -o \ + $(TEST_NAME).profdata && \ + $(ECHO) -n $(GRAY) "coverage in html ... " \ + $(RESET) && \ + $(COV) show -format=html \ + -instr-profile=$(TEST_NAME).profdata \ + -ignore-filename-regex=$(TESTS_DIR)/* \ + --show-branches=count \ + ./$(TEST_NAME) -output-dir=$(COVERAGE_DIR) > /dev/null && \ + $(RM) *.profraw *.profdata && \ + $(ECHO) $(GREEN) "Success" $(RESET) || \ + $(ECHO) $(RED) "Failed" $(RESET) + +# Rule to compile using debug flags +debug: + @$(ECHO) $(GRAY) "Compiling debug, flags are" $(RESET) \ + "$(CFLAGS) $(DEBUG_FLAGS)" $(RESET) && \ + make --no-print-directory -C . re \ + CFLAGS="$(CFLAGS) $(DEBUG_FLAGS)" && \ + make --no-print-directory -C . \ + so CFLAGS="$(CFLAGS) $(DEBUG_FLAGS)" && \ + $(ECHO) $(GREEN) "Success" $(RESET) || \ + $(ECHO) $(RED) "Failed" $(RESET) + +# Rule to clean objects +clean: + @$(ECHO) -n $(GRAY) "Clean ... " $(RESET) && \ + ( $(RM) -rf $(BUILD_DIR) $(CLOG_FILE) $(TEST_NAME) *.gcov \ + *.gcno *.gcda 2> /dev/null && \ + $(ECHO) $(GREEN) "Success" $(RESET) ) || \ + $(ECHO) $(RED) "Failed" $(RESET) + +# Rule to clean objects and libraries/compiled files +fclean: clean + @$(ECHO) -n $(GRAY) "FClean ... " $(RESET) && \ + ( $(RM) -rf $(OUTDIR)/lib$(NAME).a l$(OUTDIR)/ib$(NAME).so \ + $(COVERAGE_DIR) $(TEST_NAME) \ + *.profraw *.profdata Doxygen 2> /dev/null && \ + $(ECHO) $(GREEN) "Success" $(RESET) ) || \ + $(ECHO) $(RED) "Failed" $(RESET) + +# Rule to recompile +re: fclean + @$(ECHO) -ne $(GRAY) "Recompiling ..." $(RESET) "\n" && \ + make --no-print-directory all && \ + $(ECHO) $(GREEN) "Success" $(RESET) || \ + $(ECHO) $(RED) "Failed" $(RESET) + +-include $(OBJ:.o=.d) + +# rule to force rules to be executed even if files exist +.PHONY: re fclean clean diff --git a/libft/README.md b/libft/README.md deleted file mode 100644 index bb028e8..0000000 --- a/libft/README.md +++ /dev/null @@ -1,7 +0,0 @@ -This project is your very first project as a student at 42. You will need to recode a few functions of the C standard library as well as some other utility functions that you will use during your whole cursus. -## -| Keywords | Skills | -| ------|-----| -| Unix Logic | Algorithms & AI | -|| Imperative programming | -|| Rigor | diff --git a/libft/char/ft_isalnum.c b/libft/char/ft_isalnum.c deleted file mode 100644 index 6898862..0000000 --- a/libft/char/ft_isalnum.c +++ /dev/null @@ -1,26 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_isalnum.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: rparodi +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2023/11/06 12:47:28 by rparodi #+# #+# */ -/* Updated: 2024/10/31 12:54:42 by rparodi ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -/** - * @brief Check if the character is alpha-numeric - * - * @param c the character - * @return the character if alphanumeric or 0 if not - */ -int ft_isalnum(int c) -{ - if (ft_isalpha(c) || ft_isdigit(c)) - return (c); - return (0); -} diff --git a/libft/char/ft_isalpha.c b/libft/char/ft_isalpha.c deleted file mode 100644 index 8f93d59..0000000 --- a/libft/char/ft_isalpha.c +++ /dev/null @@ -1,26 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_isalpha.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: rparodi +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2023/11/06 11:58:37 by rparodi #+# #+# */ -/* Updated: 2024/10/31 12:54:40 by rparodi ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -/** - * @brief Check if the character is alpha - * - * @param c the character - * @return the character if alpha or 0 if not - */ -int ft_isalpha(int c) -{ - if ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z')) - return (c); - return (0); -} diff --git a/libft/char/ft_isascii.c b/libft/char/ft_isascii.c deleted file mode 100644 index 942e780..0000000 --- a/libft/char/ft_isascii.c +++ /dev/null @@ -1,28 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_isascii.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: rparodi +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2023/11/06 14:04:26 by rparodi #+# #+# */ -/* Updated: 2024/10/31 12:49:55 by rparodi ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -/** - * @brief Check if the character is in the ascii table - * - * @param c the character - * @return the character if in the ascii table or 0 if not - */ -int ft_isascii(int c) -{ - if (c == 0) - return (1); - if (c > 0 && c <= 127) - return (c); - return (0); -} diff --git a/libft/char/ft_isdigit.c b/libft/char/ft_isdigit.c deleted file mode 100644 index ac3315e..0000000 --- a/libft/char/ft_isdigit.c +++ /dev/null @@ -1,26 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_isdigit.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: rparodi +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2023/11/06 12:44:28 by rparodi #+# #+# */ -/* Updated: 2024/10/31 12:49:05 by rparodi ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -/** - * @brief Check if the character is alpha numeric - * - * @param c the character - * @return the character if numeric or 0 if not - */ -int ft_isdigit(int c) -{ - if (c >= '0' && c <= '9') - return (c); - return (0); -} diff --git a/libft/char/ft_isprint.c b/libft/char/ft_isprint.c deleted file mode 100644 index d77c82a..0000000 --- a/libft/char/ft_isprint.c +++ /dev/null @@ -1,26 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_isprint.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: rparodi +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2023/11/06 14:06:53 by rparodi #+# #+# */ -/* Updated: 2024/10/31 12:50:37 by rparodi ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -/** - * @brief Check if the character is printable - * - * @param c the character - * @return the character if can be print or 0 if not - */ -int ft_isprint(int c) -{ - if (c >= 32 && c <= 126) - return (c); - return (0); -} diff --git a/libft/char/ft_tolower.c b/libft/char/ft_tolower.c deleted file mode 100644 index 5130815..0000000 --- a/libft/char/ft_tolower.c +++ /dev/null @@ -1,26 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_tolower.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: rparodi +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2023/11/07 10:38:54 by rparodi #+# #+# */ -/* Updated: 2024/10/31 12:55:28 by rparodi ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -/** - * @brief convert the upper case to lower case - * - * @param c the character - * @return the character to lower case if is on upper - */ -int ft_tolower(int c) -{ - if (c >= 'A' && c <= 'Z') - c += 32; - return (c); -} diff --git a/libft/char/ft_toupper.c b/libft/char/ft_toupper.c deleted file mode 100644 index d3c01b4..0000000 --- a/libft/char/ft_toupper.c +++ /dev/null @@ -1,26 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_toupper.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: rparodi +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2023/11/07 10:44:26 by rparodi #+# #+# */ -/* Updated: 2024/10/31 12:55:14 by rparodi ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -/** - * @brief convert the lower case to upper case - * - * @param c the character - * @return the character to upper case if is on lower - */ -int ft_toupper(int c) -{ - if (c >= 'a' && c <= 'z') - c -= 32; - return (c); -} diff --git a/libft/convert/ft_atoi.c b/libft/convert/ft_atoi.c deleted file mode 100644 index d4830ec..0000000 --- a/libft/convert/ft_atoi.c +++ /dev/null @@ -1,60 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_atoi.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: rparodi +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2023/11/08 17:22:41 by rparodi #+# #+# */ -/* Updated: 2024/10/31 15:16:10 by rparodi ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -static int ft_check_space(int c) -{ - if (c == 32 || (c >= 9 && c <= 13)) - return (1); - return (0); -} - -static int ft_check_sign(const char *nptr, int *i) -{ - while (ft_check_space(nptr[*i])) - (*i)++; - if (nptr[*i] == '-') - { - (*i)++; - return (-1); - } - else if (nptr[*i] == '+') - (*i)++; - return (1); -} - -/** - * @brief Converts string to integer - * - * @param nptr the string that will be converted - * @return The integer on the string - */ -int ft_atoi(const char *nptr) -{ - int i; - int sign; - int number; - - i = 0; - sign = ft_check_sign(nptr, &i); - number = 0; - while (nptr[i]) - { - if (nptr[i] >= '0' && nptr[i] <= '9') - number = (number * 10) + nptr[i] - '0'; - else - break ; - i++; - } - return (sign * number); -} diff --git a/libft/convert/ft_atoll.c b/libft/convert/ft_atoll.c deleted file mode 100644 index 414010e..0000000 --- a/libft/convert/ft_atoll.c +++ /dev/null @@ -1,60 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_atoll.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: rparodi +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2024/10/31 15:12:07 by rparodi #+# #+# */ -/* Updated: 2024/10/31 15:14:50 by rparodi ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -static int ft_check_space(int c) -{ - if (c == 32 || (c >= 9 && c <= 13)) - return (1); - return (0); -} - -static int ft_check_sign(const char *nptr, size_t *i) -{ - while (ft_check_space(nptr[*i])) - (*i)++; - if (nptr[*i] == '-') - { - (*i)++; - return (-1); - } - else if (nptr[*i] == '+') - (*i)++; - return (1); -} - -/** - * @brief Converts string to long long integer - * - * @param nptr the string that will be converted - * @return The long long int on the string - */ -long long int ft_atoll(const char *nptr) -{ - size_t i; - int sign; - long long int number; - - i = 0; - sign = ft_check_sign(nptr, &i); - number = 0; - while (nptr[i]) - { - if (nptr[i] >= '0' && nptr[i] <= '9') - number = (number * 10) + nptr[i] - '0'; - else - break ; - i++; - } - return (sign * number); -} diff --git a/libft/convert/ft_itoa.c b/libft/convert/ft_itoa.c deleted file mode 100644 index 6104fe3..0000000 --- a/libft/convert/ft_itoa.c +++ /dev/null @@ -1,58 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_itoa.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: rparodi +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2023/11/09 13:56:30 by rparodi #+# #+# */ -/* Updated: 2024/10/31 13:02:55 by rparodi ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -static size_t ft_check_sign(char *str, long *nb) -{ - if ((*nb) == 0) - str[0] = '0'; - if ((*nb) < 0) - { - str[0] = '-'; - *nb = -*nb; - return (1); - } - return (0); -} - -/** - * @brief Converts integer to string - * - * @param n the integer that will be converted - * @return The string with this integer - */ -char *ft_itoa(int n) -{ - size_t i; - size_t modulus; - short int maiboyerlpb; - char str[13]; - long nb; - - nb = n; - maiboyerlpb = 0; - modulus = 1000000000; - ft_bzero(str, 13); - i = ft_check_sign(str, &nb); - while (modulus != 0) - { - if (nb / modulus != 0 || maiboyerlpb != 0) - { - str[i++] = (nb / modulus) + 48; - maiboyerlpb++; - } - nb %= modulus; - modulus /= 10; - } - return (ft_strdup(str)); -} diff --git a/libft_personal/include/ft_args.h b/libft/include/ft_args.h similarity index 100% rename from libft_personal/include/ft_args.h rename to libft/include/ft_args.h diff --git a/libft_personal/include/ft_args_types.h b/libft/include/ft_args_types.h similarity index 100% rename from libft_personal/include/ft_args_types.h rename to libft/include/ft_args_types.h diff --git a/libft_personal/include/ft_char.h b/libft/include/ft_char.h similarity index 100% rename from libft_personal/include/ft_char.h rename to libft/include/ft_char.h diff --git a/libft_personal/include/ft_colors.h b/libft/include/ft_colors.h similarity index 100% rename from libft_personal/include/ft_colors.h rename to libft/include/ft_colors.h diff --git a/libft_personal/include/ft_defs.h b/libft/include/ft_defs.h similarity index 100% rename from libft_personal/include/ft_defs.h rename to libft/include/ft_defs.h diff --git a/libft_personal/include/ft_errno.h b/libft/include/ft_errno.h similarity index 100% rename from libft_personal/include/ft_errno.h rename to libft/include/ft_errno.h diff --git a/libft_personal/include/ft_list.h b/libft/include/ft_list.h similarity index 100% rename from libft_personal/include/ft_list.h rename to libft/include/ft_list.h diff --git a/libft_personal/include/ft_list_types.h b/libft/include/ft_list_types.h similarity index 100% rename from libft_personal/include/ft_list_types.h rename to libft/include/ft_list_types.h diff --git a/libft_personal/include/ft_map.h b/libft/include/ft_map.h similarity index 100% rename from libft_personal/include/ft_map.h rename to libft/include/ft_map.h diff --git a/libft_personal/include/ft_map_types.h b/libft/include/ft_map_types.h similarity index 100% rename from libft_personal/include/ft_map_types.h rename to libft/include/ft_map_types.h diff --git a/libft_personal/include/ft_math.h b/libft/include/ft_math.h similarity index 100% rename from libft_personal/include/ft_math.h rename to libft/include/ft_math.h diff --git a/libft_personal/include/ft_math_types.h b/libft/include/ft_math_types.h similarity index 100% rename from libft_personal/include/ft_math_types.h rename to libft/include/ft_math_types.h diff --git a/libft_personal/include/ft_optional.h b/libft/include/ft_optional.h similarity index 100% rename from libft_personal/include/ft_optional.h rename to libft/include/ft_optional.h diff --git a/libft_personal/include/ft_optional_types.h b/libft/include/ft_optional_types.h similarity index 100% rename from libft_personal/include/ft_optional_types.h rename to libft/include/ft_optional_types.h diff --git a/libft_personal/include/ft_pair.h b/libft/include/ft_pair.h similarity index 100% rename from libft_personal/include/ft_pair.h rename to libft/include/ft_pair.h diff --git a/libft_personal/include/ft_pair_types.h b/libft/include/ft_pair_types.h similarity index 100% rename from libft_personal/include/ft_pair_types.h rename to libft/include/ft_pair_types.h diff --git a/libft_personal/include/ft_string.h b/libft/include/ft_string.h similarity index 100% rename from libft_personal/include/ft_string.h rename to libft/include/ft_string.h diff --git a/libft_personal/include/ft_string_types.h b/libft/include/ft_string_types.h similarity index 100% rename from libft_personal/include/ft_string_types.h rename to libft/include/ft_string_types.h diff --git a/libft_personal/include/ft_types.h b/libft/include/ft_types.h similarity index 100% rename from libft_personal/include/ft_types.h rename to libft/include/ft_types.h diff --git a/libft_personal/include/ft_vector.h b/libft/include/ft_vector.h similarity index 100% rename from libft_personal/include/ft_vector.h rename to libft/include/ft_vector.h diff --git a/libft_personal/include/ft_vector_types.h b/libft/include/ft_vector_types.h similarity index 100% rename from libft_personal/include/ft_vector_types.h rename to libft/include/ft_vector_types.h diff --git a/libft_personal/include/internal/args_helper.h b/libft/include/internal/args_helper.h similarity index 100% rename from libft_personal/include/internal/args_helper.h rename to libft/include/internal/args_helper.h diff --git a/libft_personal/include/tests/args_tests.h b/libft/include/tests/args_tests.h similarity index 100% rename from libft_personal/include/tests/args_tests.h rename to libft/include/tests/args_tests.h diff --git a/libft_personal/include/tests/char_tests.h b/libft/include/tests/char_tests.h similarity index 100% rename from libft_personal/include/tests/char_tests.h rename to libft/include/tests/char_tests.h diff --git a/libft_personal/include/tests/dl_tests.h b/libft/include/tests/dl_tests.h similarity index 100% rename from libft_personal/include/tests/dl_tests.h rename to libft/include/tests/dl_tests.h diff --git a/libft_personal/include/tests/lists_test_utils.h b/libft/include/tests/lists_test_utils.h similarity index 100% rename from libft_personal/include/tests/lists_test_utils.h rename to libft/include/tests/lists_test_utils.h diff --git a/libft_personal/include/tests/ll_tests.h b/libft/include/tests/ll_tests.h similarity index 100% rename from libft_personal/include/tests/ll_tests.h rename to libft/include/tests/ll_tests.h diff --git a/libft_personal/include/tests/map_tests.h b/libft/include/tests/map_tests.h similarity index 100% rename from libft_personal/include/tests/map_tests.h rename to libft/include/tests/map_tests.h diff --git a/libft_personal/include/tests/math_tests.h b/libft/include/tests/math_tests.h similarity index 100% rename from libft_personal/include/tests/math_tests.h rename to libft/include/tests/math_tests.h diff --git a/libft_personal/include/tests/optional_test.h b/libft/include/tests/optional_test.h similarity index 100% rename from libft_personal/include/tests/optional_test.h rename to libft/include/tests/optional_test.h diff --git a/libft_personal/include/tests/pair_tests.h b/libft/include/tests/pair_tests.h similarity index 100% rename from libft_personal/include/tests/pair_tests.h rename to libft/include/tests/pair_tests.h diff --git a/libft_personal/include/tests/str__mem_tests.h b/libft/include/tests/str__mem_tests.h similarity index 100% rename from libft_personal/include/tests/str__mem_tests.h rename to libft/include/tests/str__mem_tests.h diff --git a/libft_personal/include/tests/str__str_tests.h b/libft/include/tests/str__str_tests.h similarity index 100% rename from libft_personal/include/tests/str__str_tests.h rename to libft/include/tests/str__str_tests.h diff --git a/libft_personal/include/tests/str__t_str_test.h b/libft/include/tests/str__t_str_test.h similarity index 100% rename from libft_personal/include/tests/str__t_str_test.h rename to libft/include/tests/str__t_str_test.h diff --git a/libft_personal/include/tests/tests.h b/libft/include/tests/tests.h similarity index 100% rename from libft_personal/include/tests/tests.h rename to libft/include/tests/tests.h diff --git a/libft_personal/include/tests/tests_lambda_functions.h b/libft/include/tests/tests_lambda_functions.h similarity index 100% rename from libft_personal/include/tests/tests_lambda_functions.h rename to libft/include/tests/tests_lambda_functions.h diff --git a/libft_personal/include/tests/vector_tests.h b/libft/include/tests/vector_tests.h similarity index 100% rename from libft_personal/include/tests/vector_tests.h rename to libft/include/tests/vector_tests.h diff --git a/libft/includes/char.h b/libft/includes/char.h deleted file mode 100644 index c967dbe..0000000 --- a/libft/includes/char.h +++ /dev/null @@ -1,31 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* 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/libft/includes/convert.h b/libft/includes/convert.h deleted file mode 100644 index 9996986..0000000 --- a/libft/includes/convert.h +++ /dev/null @@ -1,27 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* 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/libft/includes/libft.h b/libft/includes/libft.h deleted file mode 100644 index d3488b2..0000000 --- a/libft/includes/libft.h +++ /dev/null @@ -1,23 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* 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/libft/includes/libft/char.h b/libft/includes/libft/char.h deleted file mode 100644 index c967dbe..0000000 --- a/libft/includes/libft/char.h +++ /dev/null @@ -1,31 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* 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/libft/includes/libft/convert.h b/libft/includes/libft/convert.h deleted file mode 100644 index 9996986..0000000 --- a/libft/includes/libft/convert.h +++ /dev/null @@ -1,27 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* 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/libft/includes/libft/libft.h b/libft/includes/libft/libft.h deleted file mode 100644 index d3488b2..0000000 --- a/libft/includes/libft/libft.h +++ /dev/null @@ -1,23 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* 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/libft/includes/libft/list.h b/libft/includes/libft/list.h deleted file mode 100644 index 75167b0..0000000 --- a/libft/includes/libft/list.h +++ /dev/null @@ -1,39 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* 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/libft/includes/libft/memory.h b/libft/includes/libft/memory.h deleted file mode 100644 index aaac8e5..0000000 --- a/libft/includes/libft/memory.h +++ /dev/null @@ -1,31 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* 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/libft/includes/libft/print.h b/libft/includes/libft/print.h deleted file mode 100644 index 1cc0bcd..0000000 --- a/libft/includes/libft/print.h +++ /dev/null @@ -1,31 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* 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/libft/includes/libft/str.h b/libft/includes/libft/str.h deleted file mode 100644 index cfaf4ca..0000000 --- a/libft/includes/libft/str.h +++ /dev/null @@ -1,40 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* 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/libft/includes/list.h b/libft/includes/list.h deleted file mode 100644 index 75167b0..0000000 --- a/libft/includes/list.h +++ /dev/null @@ -1,39 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* 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/libft/includes/memory.h b/libft/includes/memory.h deleted file mode 100644 index aaac8e5..0000000 --- a/libft/includes/memory.h +++ /dev/null @@ -1,31 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* 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/libft/includes/print.h b/libft/includes/print.h deleted file mode 100644 index 1cc0bcd..0000000 --- a/libft/includes/print.h +++ /dev/null @@ -1,31 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* 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/libft/includes/str.h b/libft/includes/str.h deleted file mode 100644 index a41de8d..0000000 --- a/libft/includes/str.h +++ /dev/null @@ -1,39 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* str.h :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: rparodi +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2024/10/31 15:04:59 by rparodi #+# #+# */ -/* Updated: 2024/10/31 16:15:39 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_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/libft/list/ft_lstadd_back.c b/libft/list/ft_lstadd_back.c deleted file mode 100644 index 344a851..0000000 --- a/libft/list/ft_lstadd_back.c +++ /dev/null @@ -1,34 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_lstadd_back.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: rparodi +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2023/11/12 11:39:56 by rparodi #+# #+# */ -/* Updated: 2024/10/31 17:29:37 by rparodi ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -/** - * @brief Add the list new to the back of chained list of lst - * - * @param lst first element of the list - * @param new The element to add at the end - */ -void ft_lstadd_back(t_list **lst, t_list *new) -{ - t_list *tempo; - - if (*lst == NULL) - { - *lst = new; - return ; - } - tempo = *lst; - while (tempo->next != NULL) - tempo = tempo->next; - tempo->next = new; -} diff --git a/libft/list/ft_lstadd_front.c b/libft/list/ft_lstadd_front.c deleted file mode 100644 index 42dcf9a..0000000 --- a/libft/list/ft_lstadd_front.c +++ /dev/null @@ -1,30 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_lstadd_front.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: rparodi +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2023/11/12 11:40:16 by rparodi #+# #+# */ -/* Updated: 2024/10/31 17:30:01 by rparodi ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -/** - * @brief Add the list new to the front of chained list of lst - * - * @param lst first element of the list - * @param new The element to add at the start - */ -void ft_lstadd_front(t_list **lst, t_list *new) -{ - if (*lst == NULL) - { - *lst = new; - return ; - } - new->next = *lst; - *lst = new; -} diff --git a/libft/list/ft_lstclear.c b/libft/list/ft_lstclear.c deleted file mode 100644 index 4a34087..0000000 --- a/libft/list/ft_lstclear.c +++ /dev/null @@ -1,31 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_lstclear.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: rparodi +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2023/11/12 11:40:37 by rparodi #+# #+# */ -/* Updated: 2024/10/31 17:32:23 by rparodi ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -/** - * @brief Clear the all list with the function - * - * @param lst the start of the chained list - * @param del the function to clear the list - */ -void ft_lstclear(t_list **lst, void (*del)(void *)) -{ - t_list *tempo; - - while (*lst) - { - tempo = (*lst)->next; - ft_lstdelone(*lst, del); - (*lst) = tempo; - } -} diff --git a/libft/list/ft_lstdelone.c b/libft/list/ft_lstdelone.c deleted file mode 100644 index 21cc2dd..0000000 --- a/libft/list/ft_lstdelone.c +++ /dev/null @@ -1,25 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_lstdelone.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: rparodi +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2023/11/12 11:42:11 by rparodi #+# #+# */ -/* Updated: 2024/10/31 17:46:00 by rparodi ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -/** - * @brief Clear the element of the list with the function - * - * @param lst the element of the list to be clear - * @param del the function to clear the list - */ -void ft_lstdelone(t_list *lst, void (*del)(void *)) -{ - del(lst->content); - free(lst); -} diff --git a/libft/list/ft_lstiter.c b/libft/list/ft_lstiter.c deleted file mode 100644 index 717f8a5..0000000 --- a/libft/list/ft_lstiter.c +++ /dev/null @@ -1,28 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_lstiter.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: rparodi +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2023/11/12 11:42:24 by rparodi #+# #+# */ -/* Updated: 2024/10/31 17:46:55 by rparodi ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -/** - * @brief Apply the function given in arguments at all the element of the list - * - * @param lst the chained list - * @param f the pointer to function - */ -void ft_lstiter(t_list *lst, void (*f)(void *)) -{ - while (lst != NULL) - { - f(lst->content); - lst = lst->next; - } -} diff --git a/libft/list/ft_lstlast.c b/libft/list/ft_lstlast.c deleted file mode 100644 index 4d64a7b..0000000 --- a/libft/list/ft_lstlast.c +++ /dev/null @@ -1,28 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_lstlast.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: rparodi +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2023/11/12 11:42:54 by rparodi #+# #+# */ -/* Updated: 2024/10/31 17:48:08 by rparodi ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -/** - * @brief Found the last element of the chained list - * - * @param lst the chained list - * @return the last element of the chained list - */ -t_list *ft_lstlast(t_list *lst) -{ - if (lst == NULL) - return (lst); - while (lst->next != NULL) - lst = lst->next; - return (lst); -} diff --git a/libft/list/ft_lstmap.c b/libft/list/ft_lstmap.c deleted file mode 100644 index d1c505c..0000000 --- a/libft/list/ft_lstmap.c +++ /dev/null @@ -1,45 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_lstmap.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: rparodi +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2023/11/12 11:43:28 by rparodi #+# #+# */ -/* Updated: 2024/10/31 17:51:38 by rparodi ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -/** - * @brief Create an other list from an old one with a function on all element - * - * @param lst the chained list - * @param f the function to function to iterate - * @param del The function to delete the old list - * @return - */ -t_list *ft_lstmap(t_list *lst, void *(*f)(void *), void (*del)(void *)) -{ - t_list *tempo; - t_list *tempo_content; - - tempo_content = ft_lstnew(f(lst->content)); - if (!tempo_content) - return (NULL); - tempo = tempo_content; - lst = lst->next; - while (lst) - { - tempo_content = ft_lstnew(f(lst->content)); - if (!tempo_content) - { - ft_lstclear(&tempo, del); - return (NULL); - } - ft_lstadd_back(&tempo, tempo_content); - lst = lst->next; - } - return (tempo); -} diff --git a/libft/list/ft_lstnew.c b/libft/list/ft_lstnew.c deleted file mode 100644 index 816fea4..0000000 --- a/libft/list/ft_lstnew.c +++ /dev/null @@ -1,32 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_lstnew.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: rparodi +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2023/11/12 11:44:02 by rparodi #+# #+# */ -/* Updated: 2024/10/31 17:52:24 by rparodi ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -/** - * @brief Allocate a new list with the first element - * - * @param content the element to give on first element - * @return the new list - */ -t_list *ft_lstnew(void *content) -{ - t_list *to_return; - - to_return = NULL; - to_return = (t_list *)malloc(sizeof(t_list)); - if (!to_return) - return (NULL); - to_return->content = content; - to_return->next = NULL; - return (to_return); -} diff --git a/libft/list/ft_lstsize.c b/libft/list/ft_lstsize.c deleted file mode 100644 index fffaf49..0000000 --- a/libft/list/ft_lstsize.c +++ /dev/null @@ -1,32 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_lstsize.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: rparodi +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2023/11/12 11:44:24 by rparodi #+# #+# */ -/* Updated: 2024/10/31 17:53:11 by rparodi ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -/** - * @brief Give the size of the chained list - * - * @param lst the chained list - * @return the size of the list - */ -int ft_lstsize(t_list *lst) -{ - int count; - - count = 0; - while (lst != NULL) - { - lst = lst->next; - count++; - } - return (count); -} diff --git a/libft/memory/ft_bzero.c b/libft/memory/ft_bzero.c deleted file mode 100644 index 2492e03..0000000 --- a/libft/memory/ft_bzero.c +++ /dev/null @@ -1,24 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_bzero.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: rparodi +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2023/11/07 16:43:13 by rparodi #+# #+# */ -/* Updated: 2024/10/31 17:54:25 by rparodi ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -/** - * @brief Sets a block of memory to zero - * - * @param s Pointer to the memory area to be set at zero - * @param n Number of bytes to set to zero - */ -void ft_bzero(void *s, size_t n) -{ - ft_memset(s, 0, n); -} diff --git a/libft/memory/ft_calloc.c b/libft/memory/ft_calloc.c deleted file mode 100644 index db1e5d0..0000000 --- a/libft/memory/ft_calloc.c +++ /dev/null @@ -1,37 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_calloc.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: rparodi +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2023/11/07 16:47:17 by rparodi #+# #+# */ -/* Updated: 2024/10/31 17:55:30 by rparodi ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -/** - * @brief Allocates and zeroes memory for an array - * - * @param nmemb Number of elements to allocate - * @param size Size of each element in bytes - */ -void *ft_calloc(size_t nmemb, size_t size) -{ - size_t total; - char *to_return; - - if (nmemb == 0 || size == 0) - return ((void *)malloc(1)); - total = nmemb * size; - if (total / nmemb != size && total / size != nmemb) - return (NULL); - to_return = (char *)malloc(total); - if (to_return == NULL) - to_return = NULL; - else - ft_bzero(to_return, total); - return (to_return); -} diff --git a/libft/memory/ft_memchr.c b/libft/memory/ft_memchr.c deleted file mode 100644 index 6dd568d..0000000 --- a/libft/memory/ft_memchr.c +++ /dev/null @@ -1,39 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_memchr.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: rparodi +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2023/11/07 16:48:30 by rparodi #+# #+# */ -/* Updated: 2024/10/31 17:59:07 by rparodi ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -/** - * @brief Scans memory for a byte - * - * @param s Pointer to the memory area to scan - * @param c Byte value to search for - * @param n Number of bytes to scan in s - * - * @return A pointer to the matching byte in memory, or NULL if the byte -is not found within the first n bytes - */ -void *ft_memchr(const void *s, int c, size_t n) -{ - size_t i; - char *str; - - i = 0; - str = (char *)s; - while (i < n) - { - if ((char)c == str[i]) - return ((void *)str + i); - i++; - } - return (NULL); -} diff --git a/libft/memory/ft_memcmp.c b/libft/memory/ft_memcmp.c deleted file mode 100644 index 3b88c68..0000000 --- a/libft/memory/ft_memcmp.c +++ /dev/null @@ -1,43 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_memcmp.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: rparodi +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2023/11/07 16:49:04 by rparodi #+# #+# */ -/* Updated: 2024/10/31 17:59:48 by rparodi ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -/** - * @brief Compares two memory blocks - * - * @param s1 Pointer to the first memory area - * @param s2 Pointer to the second memory area - * @param n Number of bytes to compare - * - * @return An integer indicating the relationship between the two memory areas: - * - `< 0` if `s1` is less than `s2` - * - `0` if `s1` equals `s2` - * - `> 0` if `s1` is greater than `s2` - */ -int ft_memcmp(const void *s1, const void *s2, size_t n) -{ - size_t i; - unsigned char *str1; - unsigned char *str2; - - i = 0; - str1 = (unsigned char *)s1; - str2 = (unsigned char *)s2; - while (i < n) - { - if (str1[i] != str2[i]) - return (str1[i] - str2[i]); - i++; - } - return (0); -} diff --git a/libft/memory/ft_memcpy.c b/libft/memory/ft_memcpy.c deleted file mode 100644 index 4da7a37..0000000 --- a/libft/memory/ft_memcpy.c +++ /dev/null @@ -1,41 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_memcpy.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: rparodi +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2023/11/07 16:49:46 by rparodi #+# #+# */ -/* Updated: 2024/10/31 17:57:31 by rparodi ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -/** - * @brief Copies memory from source to destination - * - * @param dest Pointer to the destination memory area - * @param src Pointer to the source memory area - * @param n Number of bytes to copy from src to dest - * - * @return A pointer to the destination memory area dest - */ -void *ft_memcpy(void *dest, const void *src, size_t n) -{ - char *d; - const char *s; - size_t i; - - i = 0; - if (!dest && !src) - return (NULL); - d = (char *)dest; - s = (char *)src; - while (i < n) - { - d[i] = s[i]; - i++; - } - return ((void *)d); -} diff --git a/libft/memory/ft_memmove.c b/libft/memory/ft_memmove.c deleted file mode 100644 index 96037b0..0000000 --- a/libft/memory/ft_memmove.c +++ /dev/null @@ -1,60 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_memmove.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: rparodi +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2023/11/07 16:51:35 by rparodi #+# #+# */ -/* Updated: 2024/10/31 18:15:19 by rparodi ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -char *ft_checks(char *s, char *d, size_t n) -{ - size_t i; - - i = 0; - if (d < s) - { - while (i < n) - { - d[i] = s[i]; - i++; - } - } - else - { - i = n; - while (i > 0) - { - i--; - d[i] = s[i]; - } - } - return (d); -} - -/** - * @brief Copies memory with overlap handling - * - * @param dest Pointer to the destination memory area - * @param src Pointer to the source memory area - * @param n Number of bytes to copy from src to dest - * - * @return A pointer to the destination memory area dest - */ -void *ft_memmove(void *dest, const void *src, size_t n) -{ - char *d; - char *s; - - if (!dest && !src) - return (NULL); - d = (char *)dest; - s = (char *)src; - ft_checks(s, d, n); - return (dest); -} diff --git a/libft/memory/ft_memset.c b/libft/memory/ft_memset.c deleted file mode 100644 index f88525f..0000000 --- a/libft/memory/ft_memset.c +++ /dev/null @@ -1,37 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_memset.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: rparodi +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2023/11/07 16:50:29 by rparodi #+# #+# */ -/* Updated: 2024/10/31 17:56:59 by rparodi ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -/** - * @brief Fills a block of memory with a specified byte - * - * @param s Pointer to the memory area to fill - * @param c Byte value to be set in the memory - * @param n Number of bytes to be set to the value c - * - * @return A pointer to the memory area s - */ -void *ft_memset(void *s, int c, size_t n) -{ - char *str; - size_t i; - - i = 0; - str = (char *)s; - while (i < n) - { - str[i] = c; - i++; - } - return (str); -} diff --git a/libft/print/ft_printf.c b/libft/print/ft_printf.c deleted file mode 100644 index fa158ed..0000000 --- a/libft/print/ft_printf.c +++ /dev/null @@ -1,109 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_printf.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: rparodi +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2023/11/14 17:27:44 by rparodi #+# #+# */ -/* Updated: 2024/10/31 18:01:28 by rparodi ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -void _print_char(int fd, char c, int *ret_value); -void _print_nbr(int fd, int nb, int *ret_value); -void _print_base(\ - int fd, unsigned long long nbr, int *ret_value, char c); -void _print_unsigned(int fd, unsigned int nb, int *ret_value); -void _print_str(int fd, char *str, int *ret_value); - -int _check_args(int fd, char c, va_list args, int *ret_value) -{ - if (c == 'c') - _print_char(fd, (char)va_arg(args, int), ret_value); - else if (c == 's') - _print_str(fd, (char *)va_arg(args, char *), ret_value); - else if (c == 'i' || c == 'd') - _print_nbr(fd, (int)va_arg(args, int), ret_value); - else if (c == '%') - _print_char(fd, '%', ret_value); - else if (c == 'u') - _print_unsigned(\ - fd, (unsigned int)va_arg(args, unsigned int), ret_value); - else if (c == 'x') - _print_base(fd, (unsigned int)va_arg(args, unsigned int), ret_value, c); - else if (c == 'X') - _print_base(fd, (unsigned int)va_arg(args, unsigned int), ret_value, c); - else if (c == 'p') - _print_base(fd, (unsigned long long)va_arg(args, unsigned long long), \ - ret_value, c); - va_end(args); - return (1); -} - -/** - * @brief Print on a file descriptor - * - * @param fd the file descriptor - * @param s the string - * @return the number of character printable - */ -int ft_dprintf(int fd, const char *s, ...) -{ - size_t i; - va_list args; - char *str; - int ret_value; - - ret_value = 0; - str = ft_strdup(s); - va_start(args, s); - i = 0; - while (str[i]) - { - if (str[i] == '%') - { - _check_args(fd, str[i + 1], args, &ret_value); - i++; - } - else - _print_char(fd, str[i], &ret_value); - i++; - } - free(str); - return (ret_value); -} - -/** - * @brief Print on the standard output - * - * @param s the string - * @return the number of character printable - */ -int ft_printf(const char *s, ...) -{ - size_t i; - va_list args; - char *str; - int ret_value; - - ret_value = 0; - str = ft_strdup(s); - va_start(args, s); - i = 0; - while (str[i]) - { - if (str[i] == '%') - { - _check_args(1, str[i + 1], args, &ret_value); - i++; - } - else - _print_char(1, str[i], &ret_value); - i++; - } - free(str); - return (ret_value); -} diff --git a/libft/print/ft_put.c b/libft/print/ft_put.c deleted file mode 100644 index 840aa6a..0000000 --- a/libft/print/ft_put.c +++ /dev/null @@ -1,97 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_put.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: rparodi +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2023/11/16 12:13:14 by rparodi #+# #+# */ -/* Updated: 2024/10/31 16:16:45 by rparodi ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -void _print_char(int fd, char c, int *ret_value); -void _print_nbr(int fd, int nb, int *ret_value); -void _print_base(\ - int fd, unsigned long long nbr, int *ret_value, char c); -void _print_unsigned(int fd, unsigned int nb, int *ret_value); -void _print_str(int fd, char *str, int *ret_value); - -void _print_char(int fd, char c, int *ret_value) -{ - write(fd, &c, 1); - (*ret_value)++; -} - -void _print_nbr(int fd, int nb, int *ret_value) -{ - if (nb < 0) - { - if (nb == INT_MIN) - { - write(1, "-2147483648", 11); - *ret_value += 11; - return ; - } - nb = -nb; - _print_char(fd, '-', ret_value); - } - if (nb >= 10) - { - _print_nbr(fd, nb / 10, ret_value); - nb = nb % 10; - } - if (nb < 10) - _print_char(fd, nb + 48, ret_value); -} - -void _print_base(\ - int fd, unsigned long long nbr, int *ret_value, char c) -{ - char base[16]; - - if (c == 'x' || c == 'q') - ft_strcpy(base, "0123456789abcdef"); - else if (c == 'X') - ft_strcpy(base, "0123456789ABCDEF"); - else if (c == 'p') - { - if (nbr != 0) - _print_str(fd, "0x", ret_value); - else if (nbr == 0) - { - _print_str(fd, "(nil)", ret_value); - return ; - } - else - ft_strcpy(base, "0123456789abcdef"); - c++; - } - if (c != 'p') - { - if (nbr >= 16) - _print_base(fd, nbr / 16, ret_value, c); - _print_char(fd, base[nbr % 16], ret_value); - } -} - -void _print_unsigned(int fd, unsigned int nb, int *ret_value) -{ - if (nb >= 10) - { - _print_unsigned(fd, nb / 10, ret_value); - nb = nb % 10; - } - if (nb < 10) - _print_char(fd, nb + 48, ret_value); -} - -void _print_str(int fd, char *str, int *ret_value) -{ - if (!str) - *ret_value += write(fd, "(null)", 6); - else - *ret_value += write(fd, str, ft_strlen(str)); -} diff --git a/libft/print/ft_putchar_fd.c b/libft/print/ft_putchar_fd.c deleted file mode 100644 index 592a3a6..0000000 --- a/libft/print/ft_putchar_fd.c +++ /dev/null @@ -1,24 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_putchar_fd.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: rparodi +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2023/11/09 13:58:22 by rparodi #+# #+# */ -/* Updated: 2024/10/31 18:02:37 by rparodi ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -/** - * @brief print an character on a file descriptor - * - * @param c the character to print - * @param fd the file descriptor - */ -void ft_putchar_fd(char c, int fd) -{ - write(fd, &c, 1); -} diff --git a/libft/print/ft_putendl_fd.c b/libft/print/ft_putendl_fd.c deleted file mode 100644 index 8d53376..0000000 --- a/libft/print/ft_putendl_fd.c +++ /dev/null @@ -1,25 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_putendl_fd.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: rparodi +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2023/11/09 13:59:01 by rparodi #+# #+# */ -/* Updated: 2024/10/31 18:03:47 by rparodi ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -/** - * @brief Print a string follow by a new line on a file descriptor - * - * @param s the string to print - * @param fd the file descriptor - */ -void ft_putendl_fd(char *s, int fd) -{ - ft_putstr_fd(s, fd); - ft_putchar_fd('\n', fd); -} diff --git a/libft/print/ft_putnbr_fd.c b/libft/print/ft_putnbr_fd.c deleted file mode 100644 index 17aeedf..0000000 --- a/libft/print/ft_putnbr_fd.c +++ /dev/null @@ -1,61 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_putnbr_fd.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: rparodi +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2023/11/09 13:59:18 by rparodi #+# #+# */ -/* Updated: 2024/10/31 18:04:17 by rparodi ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -static int ft_check_sign(int n, char *str, size_t *i, int fd) -{ - size_t modulus; - short int maiboyerlpb; - - maiboyerlpb = 0; - modulus = 1000000000; - if (n < 0) - { - n = -n; - str[(*i)] = '-'; - (*i)++; - } - while (modulus != 0) - { - if (n / modulus != 0 || maiboyerlpb != 0) - { - str[(*i)++] = (n / modulus) + 48; - maiboyerlpb++; - } - n %= modulus; - modulus /= 10; - } - ft_putstr_fd(str, fd); - return (n); -} - -/** - * @brief Print a number on a file descriptor - * - * @param n the number to print - * @param fd the file descriptor - */ -void ft_putnbr_fd(int n, int fd) -{ - size_t i; - char str[13]; - - i = 0; - ft_bzero(str, 13); - if (n == 0) - ft_putstr_fd("0", fd); - else if (n == -2147483648) - ft_putstr_fd("-2147483648", fd); - else - ft_check_sign(n, str, &i, fd); -} diff --git a/libft/print/ft_putstr_fd.c b/libft/print/ft_putstr_fd.c deleted file mode 100644 index 70a3bc9..0000000 --- a/libft/print/ft_putstr_fd.c +++ /dev/null @@ -1,24 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_putstr_fd.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: rparodi +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2023/11/09 13:58:46 by rparodi #+# #+# */ -/* Updated: 2024/10/31 18:05:11 by rparodi ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -/** - * @brief print a string on a file descriptor - * - * @param s the string to print - * @param fd the file descriptor - */ -void ft_putstr_fd(char *s, int fd) -{ - write(fd, s, ft_strlen(s)); -} diff --git a/libft_personal/src/ft_args/ft_arg_custom_checker.c b/libft/src/ft_args/ft_arg_custom_checker.c similarity index 100% rename from libft_personal/src/ft_args/ft_arg_custom_checker.c rename to libft/src/ft_args/ft_arg_custom_checker.c diff --git a/libft_personal/src/ft_args/ft_parse_args.c b/libft/src/ft_args/ft_parse_args.c similarity index 100% rename from libft_personal/src/ft_args/ft_parse_args.c rename to libft/src/ft_args/ft_parse_args.c diff --git a/libft_personal/src/ft_args/ft_parse_err.c b/libft/src/ft_args/ft_parse_err.c similarity index 100% rename from libft_personal/src/ft_args/ft_parse_err.c rename to libft/src/ft_args/ft_parse_err.c diff --git a/libft_personal/src/ft_args/ft_parse_opt.c b/libft/src/ft_args/ft_parse_opt.c similarity index 100% rename from libft_personal/src/ft_args/ft_parse_opt.c rename to libft/src/ft_args/ft_parse_opt.c diff --git a/libft_personal/src/ft_args/ft_progname.c b/libft/src/ft_args/ft_progname.c similarity index 100% rename from libft_personal/src/ft_args/ft_progname.c rename to libft/src/ft_args/ft_progname.c diff --git a/libft_personal/src/ft_args/ft_set_opt_args.c b/libft/src/ft_args/ft_set_opt_args.c similarity index 100% rename from libft_personal/src/ft_args/ft_set_opt_args.c rename to libft/src/ft_args/ft_set_opt_args.c diff --git a/libft_personal/src/ft_args/ft_setup_prog.c b/libft/src/ft_args/ft_setup_prog.c similarity index 100% rename from libft_personal/src/ft_args/ft_setup_prog.c rename to libft/src/ft_args/ft_setup_prog.c diff --git a/libft_personal/src/ft_args/ft_version.c b/libft/src/ft_args/ft_version.c similarity index 100% rename from libft_personal/src/ft_args/ft_version.c rename to libft/src/ft_args/ft_version.c diff --git a/libft_personal/src/ft_list/ft_dl/ft_dl_add.c b/libft/src/ft_list/ft_dl/ft_dl_add.c similarity index 100% rename from libft_personal/src/ft_list/ft_dl/ft_dl_add.c rename to libft/src/ft_list/ft_dl/ft_dl_add.c diff --git a/libft_personal/src/ft_list/ft_dl/ft_dl_apply.c b/libft/src/ft_list/ft_dl/ft_dl_apply.c similarity index 100% rename from libft_personal/src/ft_list/ft_dl/ft_dl_apply.c rename to libft/src/ft_list/ft_dl/ft_dl_apply.c diff --git a/libft_personal/src/ft_list/ft_dl/ft_dl_clear.c b/libft/src/ft_list/ft_dl/ft_dl_clear.c similarity index 100% rename from libft_personal/src/ft_list/ft_dl/ft_dl_clear.c rename to libft/src/ft_list/ft_dl/ft_dl_clear.c diff --git a/libft_personal/src/ft_list/ft_dl/ft_dl_create.c b/libft/src/ft_list/ft_dl/ft_dl_create.c similarity index 100% rename from libft_personal/src/ft_list/ft_dl/ft_dl_create.c rename to libft/src/ft_list/ft_dl/ft_dl_create.c diff --git a/libft_personal/src/ft_list/ft_dl/ft_dl_delete.c b/libft/src/ft_list/ft_dl/ft_dl_delete.c similarity index 100% rename from libft_personal/src/ft_list/ft_dl/ft_dl_delete.c rename to libft/src/ft_list/ft_dl/ft_dl_delete.c diff --git a/libft_personal/src/ft_list/ft_dl/ft_dl_find.c b/libft/src/ft_list/ft_dl/ft_dl_find.c similarity index 100% rename from libft_personal/src/ft_list/ft_dl/ft_dl_find.c rename to libft/src/ft_list/ft_dl/ft_dl_find.c diff --git a/libft_personal/src/ft_list/ft_dl/ft_dl_getters.c b/libft/src/ft_list/ft_dl/ft_dl_getters.c similarity index 100% rename from libft_personal/src/ft_list/ft_dl/ft_dl_getters.c rename to libft/src/ft_list/ft_dl/ft_dl_getters.c diff --git a/libft_personal/src/ft_list/ft_dl/ft_dl_iterator.c b/libft/src/ft_list/ft_dl/ft_dl_iterator.c similarity index 100% rename from libft_personal/src/ft_list/ft_dl/ft_dl_iterator.c rename to libft/src/ft_list/ft_dl/ft_dl_iterator.c diff --git a/libft_personal/src/ft_list/ft_dl/ft_dl_map.c b/libft/src/ft_list/ft_dl/ft_dl_map.c similarity index 100% rename from libft_personal/src/ft_list/ft_dl/ft_dl_map.c rename to libft/src/ft_list/ft_dl/ft_dl_map.c diff --git a/libft_personal/src/ft_list/ft_dl/ft_dl_new.c b/libft/src/ft_list/ft_dl/ft_dl_new.c similarity index 100% rename from libft_personal/src/ft_list/ft_dl/ft_dl_new.c rename to libft/src/ft_list/ft_dl/ft_dl_new.c diff --git a/libft_personal/src/ft_list/ft_dl/ft_dl_pushpop.c b/libft/src/ft_list/ft_dl/ft_dl_pushpop.c similarity index 100% rename from libft_personal/src/ft_list/ft_dl/ft_dl_pushpop.c rename to libft/src/ft_list/ft_dl/ft_dl_pushpop.c diff --git a/libft_personal/src/ft_list/ft_dl/ft_dl_rev.c b/libft/src/ft_list/ft_dl/ft_dl_rev.c similarity index 100% rename from libft_personal/src/ft_list/ft_dl/ft_dl_rev.c rename to libft/src/ft_list/ft_dl/ft_dl_rev.c diff --git a/libft_personal/src/ft_list/ft_dl/ft_dl_size.c b/libft/src/ft_list/ft_dl/ft_dl_size.c similarity index 100% rename from libft_personal/src/ft_list/ft_dl/ft_dl_size.c rename to libft/src/ft_list/ft_dl/ft_dl_size.c diff --git a/libft_personal/src/ft_list/ft_dl/ft_dl_sub.c b/libft/src/ft_list/ft_dl/ft_dl_sub.c similarity index 100% rename from libft_personal/src/ft_list/ft_dl/ft_dl_sub.c rename to libft/src/ft_list/ft_dl/ft_dl_sub.c diff --git a/libft_personal/src/ft_list/ft_ll/ft_ll_add.c b/libft/src/ft_list/ft_ll/ft_ll_add.c similarity index 100% rename from libft_personal/src/ft_list/ft_ll/ft_ll_add.c rename to libft/src/ft_list/ft_ll/ft_ll_add.c diff --git a/libft_personal/src/ft_list/ft_ll/ft_ll_apply.c b/libft/src/ft_list/ft_ll/ft_ll_apply.c similarity index 100% rename from libft_personal/src/ft_list/ft_ll/ft_ll_apply.c rename to libft/src/ft_list/ft_ll/ft_ll_apply.c diff --git a/libft_personal/src/ft_list/ft_ll/ft_ll_clear.c b/libft/src/ft_list/ft_ll/ft_ll_clear.c similarity index 100% rename from libft_personal/src/ft_list/ft_ll/ft_ll_clear.c rename to libft/src/ft_list/ft_ll/ft_ll_clear.c diff --git a/libft_personal/src/ft_list/ft_ll/ft_ll_create.c b/libft/src/ft_list/ft_ll/ft_ll_create.c similarity index 100% rename from libft_personal/src/ft_list/ft_ll/ft_ll_create.c rename to libft/src/ft_list/ft_ll/ft_ll_create.c diff --git a/libft_personal/src/ft_list/ft_ll/ft_ll_delete.c b/libft/src/ft_list/ft_ll/ft_ll_delete.c similarity index 100% rename from libft_personal/src/ft_list/ft_ll/ft_ll_delete.c rename to libft/src/ft_list/ft_ll/ft_ll_delete.c diff --git a/libft_personal/src/ft_list/ft_ll/ft_ll_find.c b/libft/src/ft_list/ft_ll/ft_ll_find.c similarity index 100% rename from libft_personal/src/ft_list/ft_ll/ft_ll_find.c rename to libft/src/ft_list/ft_ll/ft_ll_find.c diff --git a/libft_personal/src/ft_list/ft_ll/ft_ll_getters.c b/libft/src/ft_list/ft_ll/ft_ll_getters.c similarity index 100% rename from libft_personal/src/ft_list/ft_ll/ft_ll_getters.c rename to libft/src/ft_list/ft_ll/ft_ll_getters.c diff --git a/libft_personal/src/ft_list/ft_ll/ft_ll_iterator.c b/libft/src/ft_list/ft_ll/ft_ll_iterator.c similarity index 100% rename from libft_personal/src/ft_list/ft_ll/ft_ll_iterator.c rename to libft/src/ft_list/ft_ll/ft_ll_iterator.c diff --git a/libft_personal/src/ft_list/ft_ll/ft_ll_map.c b/libft/src/ft_list/ft_ll/ft_ll_map.c similarity index 100% rename from libft_personal/src/ft_list/ft_ll/ft_ll_map.c rename to libft/src/ft_list/ft_ll/ft_ll_map.c diff --git a/libft_personal/src/ft_list/ft_ll/ft_ll_new.c b/libft/src/ft_list/ft_ll/ft_ll_new.c similarity index 100% rename from libft_personal/src/ft_list/ft_ll/ft_ll_new.c rename to libft/src/ft_list/ft_ll/ft_ll_new.c diff --git a/libft_personal/src/ft_list/ft_ll/ft_ll_pushpop.c b/libft/src/ft_list/ft_ll/ft_ll_pushpop.c similarity index 100% rename from libft_personal/src/ft_list/ft_ll/ft_ll_pushpop.c rename to libft/src/ft_list/ft_ll/ft_ll_pushpop.c diff --git a/libft_personal/src/ft_list/ft_ll/ft_ll_rev.c b/libft/src/ft_list/ft_ll/ft_ll_rev.c similarity index 100% rename from libft_personal/src/ft_list/ft_ll/ft_ll_rev.c rename to libft/src/ft_list/ft_ll/ft_ll_rev.c diff --git a/libft_personal/src/ft_list/ft_ll/ft_ll_size.c b/libft/src/ft_list/ft_ll/ft_ll_size.c similarity index 100% rename from libft_personal/src/ft_list/ft_ll/ft_ll_size.c rename to libft/src/ft_list/ft_ll/ft_ll_size.c diff --git a/libft_personal/src/ft_list/ft_ll/ft_ll_sub.c b/libft/src/ft_list/ft_ll/ft_ll_sub.c similarity index 100% rename from libft_personal/src/ft_list/ft_ll/ft_ll_sub.c rename to libft/src/ft_list/ft_ll/ft_ll_sub.c diff --git a/libft_personal/src/ft_map/ft_map_clear.c b/libft/src/ft_map/ft_map_clear.c similarity index 100% rename from libft_personal/src/ft_map/ft_map_clear.c rename to libft/src/ft_map/ft_map_clear.c diff --git a/libft_personal/src/ft_map/ft_map_create.c b/libft/src/ft_map/ft_map_create.c similarity index 100% rename from libft_personal/src/ft_map/ft_map_create.c rename to libft/src/ft_map/ft_map_create.c diff --git a/libft_personal/src/ft_map/ft_map_destroy.c b/libft/src/ft_map/ft_map_destroy.c similarity index 100% rename from libft_personal/src/ft_map/ft_map_destroy.c rename to libft/src/ft_map/ft_map_destroy.c diff --git a/libft_personal/src/ft_map/ft_map_get.c b/libft/src/ft_map/ft_map_get.c similarity index 100% rename from libft_personal/src/ft_map/ft_map_get.c rename to libft/src/ft_map/ft_map_get.c diff --git a/libft_personal/src/ft_map/ft_map_hash.c b/libft/src/ft_map/ft_map_hash.c similarity index 100% rename from libft_personal/src/ft_map/ft_map_hash.c rename to libft/src/ft_map/ft_map_hash.c diff --git a/libft_personal/src/ft_map/ft_map_remove.c b/libft/src/ft_map/ft_map_remove.c similarity index 100% rename from libft_personal/src/ft_map/ft_map_remove.c rename to libft/src/ft_map/ft_map_remove.c diff --git a/libft_personal/src/ft_map/ft_map_set.c b/libft/src/ft_map/ft_map_set.c similarity index 100% rename from libft_personal/src/ft_map/ft_map_set.c rename to libft/src/ft_map/ft_map_set.c diff --git a/libft_personal/src/ft_math/ft_abs.c b/libft/src/ft_math/ft_abs.c similarity index 100% rename from libft_personal/src/ft_math/ft_abs.c rename to libft/src/ft_math/ft_abs.c diff --git a/libft_personal/src/ft_math/ft_align.c b/libft/src/ft_math/ft_align.c similarity index 100% rename from libft_personal/src/ft_math/ft_align.c rename to libft/src/ft_math/ft_align.c diff --git a/libft_personal/src/ft_math/ft_clamp.c b/libft/src/ft_math/ft_clamp.c similarity index 100% rename from libft_personal/src/ft_math/ft_clamp.c rename to libft/src/ft_math/ft_clamp.c diff --git a/libft_personal/src/ft_math/ft_complex.c b/libft/src/ft_math/ft_complex.c similarity index 100% rename from libft_personal/src/ft_math/ft_complex.c rename to libft/src/ft_math/ft_complex.c diff --git a/libft_personal/src/ft_math/ft_intrange.c b/libft/src/ft_math/ft_intrange.c similarity index 100% rename from libft_personal/src/ft_math/ft_intrange.c rename to libft/src/ft_math/ft_intrange.c diff --git a/libft_personal/src/ft_math/ft_log.c b/libft/src/ft_math/ft_log.c similarity index 100% rename from libft_personal/src/ft_math/ft_log.c rename to libft/src/ft_math/ft_log.c diff --git a/libft_personal/src/ft_math/ft_minmax.c b/libft/src/ft_math/ft_minmax.c similarity index 100% rename from libft_personal/src/ft_math/ft_minmax.c rename to libft/src/ft_math/ft_minmax.c diff --git a/libft_personal/src/ft_math/ft_pow.c b/libft/src/ft_math/ft_pow.c similarity index 100% rename from libft_personal/src/ft_math/ft_pow.c rename to libft/src/ft_math/ft_pow.c diff --git a/libft_personal/src/ft_math/ft_round.c b/libft/src/ft_math/ft_round.c similarity index 100% rename from libft_personal/src/ft_math/ft_round.c rename to libft/src/ft_math/ft_round.c diff --git a/libft_personal/src/ft_math/ft_sqrt.c b/libft/src/ft_math/ft_sqrt.c similarity index 100% rename from libft_personal/src/ft_math/ft_sqrt.c rename to libft/src/ft_math/ft_sqrt.c diff --git a/libft_personal/src/ft_optional/ft_optional_chain.c b/libft/src/ft_optional/ft_optional_chain.c similarity index 100% rename from libft_personal/src/ft_optional/ft_optional_chain.c rename to libft/src/ft_optional/ft_optional_chain.c diff --git a/libft_personal/src/ft_optional/ft_optional_copy.c b/libft/src/ft_optional/ft_optional_copy.c similarity index 100% rename from libft_personal/src/ft_optional/ft_optional_copy.c rename to libft/src/ft_optional/ft_optional_copy.c diff --git a/libft_personal/src/ft_optional/ft_optional_destroy.c b/libft/src/ft_optional/ft_optional_destroy.c similarity index 100% rename from libft_personal/src/ft_optional/ft_optional_destroy.c rename to libft/src/ft_optional/ft_optional_destroy.c diff --git a/libft_personal/src/ft_optional/ft_optional_new.c b/libft/src/ft_optional/ft_optional_new.c similarity index 100% rename from libft_personal/src/ft_optional/ft_optional_new.c rename to libft/src/ft_optional/ft_optional_new.c diff --git a/libft_personal/src/ft_optional/ft_optional_unwrap.c b/libft/src/ft_optional/ft_optional_unwrap.c similarity index 100% rename from libft_personal/src/ft_optional/ft_optional_unwrap.c rename to libft/src/ft_optional/ft_optional_unwrap.c diff --git a/libft_personal/src/ft_pair/ft_pair_cmp.c b/libft/src/ft_pair/ft_pair_cmp.c similarity index 100% rename from libft_personal/src/ft_pair/ft_pair_cmp.c rename to libft/src/ft_pair/ft_pair_cmp.c diff --git a/libft_personal/src/ft_pair/ft_pair_destroy.c b/libft/src/ft_pair/ft_pair_destroy.c similarity index 100% rename from libft_personal/src/ft_pair/ft_pair_destroy.c rename to libft/src/ft_pair/ft_pair_destroy.c diff --git a/libft_personal/src/ft_pair/ft_pair_get.c b/libft/src/ft_pair/ft_pair_get.c similarity index 100% rename from libft_personal/src/ft_pair/ft_pair_get.c rename to libft/src/ft_pair/ft_pair_get.c diff --git a/libft_personal/src/ft_pair/ft_pair_new.c b/libft/src/ft_pair/ft_pair_new.c similarity index 100% rename from libft_personal/src/ft_pair/ft_pair_new.c rename to libft/src/ft_pair/ft_pair_new.c diff --git a/libft_personal/src/ft_pair/ft_pair_set.c b/libft/src/ft_pair/ft_pair_set.c similarity index 100% rename from libft_personal/src/ft_pair/ft_pair_set.c rename to libft/src/ft_pair/ft_pair_set.c diff --git a/libft_personal/src/ft_string/ft_chr/ft_isalnum.c b/libft/src/ft_string/ft_chr/ft_isalnum.c similarity index 100% rename from libft_personal/src/ft_string/ft_chr/ft_isalnum.c rename to libft/src/ft_string/ft_chr/ft_isalnum.c diff --git a/libft_personal/src/ft_string/ft_chr/ft_isalpha.c b/libft/src/ft_string/ft_chr/ft_isalpha.c similarity index 100% rename from libft_personal/src/ft_string/ft_chr/ft_isalpha.c rename to libft/src/ft_string/ft_chr/ft_isalpha.c diff --git a/libft_personal/src/ft_string/ft_chr/ft_isascii.c b/libft/src/ft_string/ft_chr/ft_isascii.c similarity index 100% rename from libft_personal/src/ft_string/ft_chr/ft_isascii.c rename to libft/src/ft_string/ft_chr/ft_isascii.c diff --git a/libft_personal/src/ft_string/ft_chr/ft_isdigit.c b/libft/src/ft_string/ft_chr/ft_isdigit.c similarity index 100% rename from libft_personal/src/ft_string/ft_chr/ft_isdigit.c rename to libft/src/ft_string/ft_chr/ft_isdigit.c diff --git a/libft_personal/src/ft_string/ft_chr/ft_ishexdigit.c b/libft/src/ft_string/ft_chr/ft_ishexdigit.c similarity index 100% rename from libft_personal/src/ft_string/ft_chr/ft_ishexdigit.c rename to libft/src/ft_string/ft_chr/ft_ishexdigit.c diff --git a/libft_personal/src/ft_string/ft_chr/ft_islower.c b/libft/src/ft_string/ft_chr/ft_islower.c similarity index 100% rename from libft_personal/src/ft_string/ft_chr/ft_islower.c rename to libft/src/ft_string/ft_chr/ft_islower.c diff --git a/libft_personal/src/ft_string/ft_chr/ft_isoctdigit.c b/libft/src/ft_string/ft_chr/ft_isoctdigit.c similarity index 100% rename from libft_personal/src/ft_string/ft_chr/ft_isoctdigit.c rename to libft/src/ft_string/ft_chr/ft_isoctdigit.c diff --git a/libft_personal/src/ft_string/ft_chr/ft_isprint.c b/libft/src/ft_string/ft_chr/ft_isprint.c similarity index 100% rename from libft_personal/src/ft_string/ft_chr/ft_isprint.c rename to libft/src/ft_string/ft_chr/ft_isprint.c diff --git a/libft_personal/src/ft_string/ft_chr/ft_isspace.c b/libft/src/ft_string/ft_chr/ft_isspace.c similarity index 100% rename from libft_personal/src/ft_string/ft_chr/ft_isspace.c rename to libft/src/ft_string/ft_chr/ft_isspace.c diff --git a/libft_personal/src/ft_string/ft_chr/ft_isupper.c b/libft/src/ft_string/ft_chr/ft_isupper.c similarity index 100% rename from libft_personal/src/ft_string/ft_chr/ft_isupper.c rename to libft/src/ft_string/ft_chr/ft_isupper.c diff --git a/libft_personal/src/ft_string/ft_chr/ft_putchar_fd.c b/libft/src/ft_string/ft_chr/ft_putchar_fd.c similarity index 100% rename from libft_personal/src/ft_string/ft_chr/ft_putchar_fd.c rename to libft/src/ft_string/ft_chr/ft_putchar_fd.c diff --git a/libft_personal/src/ft_string/ft_chr/ft_tolower.c b/libft/src/ft_string/ft_chr/ft_tolower.c similarity index 100% rename from libft_personal/src/ft_string/ft_chr/ft_tolower.c rename to libft/src/ft_string/ft_chr/ft_tolower.c diff --git a/libft_personal/src/ft_string/ft_chr/ft_toupper.c b/libft/src/ft_string/ft_chr/ft_toupper.c similarity index 100% rename from libft_personal/src/ft_string/ft_chr/ft_toupper.c rename to libft/src/ft_string/ft_chr/ft_toupper.c diff --git a/libft_personal/src/ft_string/ft_mem/ft_apply_2d.c b/libft/src/ft_string/ft_mem/ft_apply_2d.c similarity index 100% rename from libft_personal/src/ft_string/ft_mem/ft_apply_2d.c rename to libft/src/ft_string/ft_mem/ft_apply_2d.c diff --git a/libft_personal/src/ft_string/ft_mem/ft_arena.c b/libft/src/ft_string/ft_mem/ft_arena.c similarity index 100% rename from libft_personal/src/ft_string/ft_mem/ft_arena.c rename to libft/src/ft_string/ft_mem/ft_arena.c diff --git a/libft_personal/src/ft_string/ft_mem/ft_arena_free.c b/libft/src/ft_string/ft_mem/ft_arena_free.c similarity index 100% rename from libft_personal/src/ft_string/ft_mem/ft_arena_free.c rename to libft/src/ft_string/ft_mem/ft_arena_free.c diff --git a/libft_personal/src/ft_string/ft_mem/ft_bzero.c b/libft/src/ft_string/ft_mem/ft_bzero.c similarity index 100% rename from libft_personal/src/ft_string/ft_mem/ft_bzero.c rename to libft/src/ft_string/ft_mem/ft_bzero.c diff --git a/libft_personal/src/ft_string/ft_mem/ft_calloc.c b/libft/src/ft_string/ft_mem/ft_calloc.c similarity index 100% rename from libft_personal/src/ft_string/ft_mem/ft_calloc.c rename to libft/src/ft_string/ft_mem/ft_calloc.c diff --git a/libft_personal/src/ft_string/ft_mem/ft_fd_to_buff.c b/libft/src/ft_string/ft_mem/ft_fd_to_buff.c similarity index 100% rename from libft_personal/src/ft_string/ft_mem/ft_fd_to_buff.c rename to libft/src/ft_string/ft_mem/ft_fd_to_buff.c diff --git a/libft_personal/src/ft_string/ft_mem/ft_free.c b/libft/src/ft_string/ft_mem/ft_free.c similarity index 100% rename from libft_personal/src/ft_string/ft_mem/ft_free.c rename to libft/src/ft_string/ft_mem/ft_free.c diff --git a/libft_personal/src/ft_string/ft_mem/ft_free_2d.c b/libft/src/ft_string/ft_mem/ft_free_2d.c similarity index 100% rename from libft_personal/src/ft_string/ft_mem/ft_free_2d.c rename to libft/src/ft_string/ft_mem/ft_free_2d.c diff --git a/libft_personal/src/ft_string/ft_mem/ft_len_2d.c b/libft/src/ft_string/ft_mem/ft_len_2d.c similarity index 100% rename from libft_personal/src/ft_string/ft_mem/ft_len_2d.c rename to libft/src/ft_string/ft_mem/ft_len_2d.c diff --git a/libft_personal/src/ft_string/ft_mem/ft_malloc.c b/libft/src/ft_string/ft_mem/ft_malloc.c similarity index 100% rename from libft_personal/src/ft_string/ft_mem/ft_malloc.c rename to libft/src/ft_string/ft_mem/ft_malloc.c diff --git a/libft_personal/src/ft_string/ft_mem/ft_memchr.c b/libft/src/ft_string/ft_mem/ft_memchr.c similarity index 100% rename from libft_personal/src/ft_string/ft_mem/ft_memchr.c rename to libft/src/ft_string/ft_mem/ft_memchr.c diff --git a/libft_personal/src/ft_string/ft_mem/ft_memcmp.c b/libft/src/ft_string/ft_mem/ft_memcmp.c similarity index 100% rename from libft_personal/src/ft_string/ft_mem/ft_memcmp.c rename to libft/src/ft_string/ft_mem/ft_memcmp.c diff --git a/libft_personal/src/ft_string/ft_mem/ft_memcpy.c b/libft/src/ft_string/ft_mem/ft_memcpy.c similarity index 100% rename from libft_personal/src/ft_string/ft_mem/ft_memcpy.c rename to libft/src/ft_string/ft_mem/ft_memcpy.c diff --git a/libft_personal/src/ft_string/ft_mem/ft_memmap.c b/libft/src/ft_string/ft_mem/ft_memmap.c similarity index 100% rename from libft_personal/src/ft_string/ft_mem/ft_memmap.c rename to libft/src/ft_string/ft_mem/ft_memmap.c diff --git a/libft_personal/src/ft_string/ft_mem/ft_memmove.c b/libft/src/ft_string/ft_mem/ft_memmove.c similarity index 100% rename from libft_personal/src/ft_string/ft_mem/ft_memmove.c rename to libft/src/ft_string/ft_mem/ft_memmove.c diff --git a/libft_personal/src/ft_string/ft_mem/ft_memset.c b/libft/src/ft_string/ft_mem/ft_memset.c similarity index 100% rename from libft_personal/src/ft_string/ft_mem/ft_memset.c rename to libft/src/ft_string/ft_mem/ft_memset.c diff --git a/libft_personal/src/ft_string/ft_mem/ft_narena.c b/libft/src/ft_string/ft_mem/ft_narena.c similarity index 100% rename from libft_personal/src/ft_string/ft_mem/ft_narena.c rename to libft/src/ft_string/ft_mem/ft_narena.c diff --git a/libft_personal/src/ft_string/ft_mem/ft_qsort.c b/libft/src/ft_string/ft_mem/ft_qsort.c similarity index 100% rename from libft_personal/src/ft_string/ft_mem/ft_qsort.c rename to libft/src/ft_string/ft_mem/ft_qsort.c diff --git a/libft_personal/src/ft_string/ft_mem/ft_realloc.c b/libft/src/ft_string/ft_mem/ft_realloc.c similarity index 100% rename from libft_personal/src/ft_string/ft_mem/ft_realloc.c rename to libft/src/ft_string/ft_mem/ft_realloc.c diff --git a/libft_personal/src/ft_string/ft_mem/ft_swap.c b/libft/src/ft_string/ft_mem/ft_swap.c similarity index 100% rename from libft_personal/src/ft_string/ft_mem/ft_swap.c rename to libft/src/ft_string/ft_mem/ft_swap.c diff --git a/libft_personal/src/ft_string/ft_str/ft_atof.c b/libft/src/ft_string/ft_str/ft_atof.c similarity index 100% rename from libft_personal/src/ft_string/ft_str/ft_atof.c rename to libft/src/ft_string/ft_str/ft_atof.c diff --git a/libft_personal/src/ft_string/ft_str/ft_atoi.c b/libft/src/ft_string/ft_str/ft_atoi.c similarity index 100% rename from libft_personal/src/ft_string/ft_str/ft_atoi.c rename to libft/src/ft_string/ft_str/ft_atoi.c diff --git a/libft_personal/src/ft_string/ft_str/ft_atoi_base.c b/libft/src/ft_string/ft_str/ft_atoi_base.c similarity index 100% rename from libft_personal/src/ft_string/ft_str/ft_atoi_base.c rename to libft/src/ft_string/ft_str/ft_atoi_base.c diff --git a/libft_personal/src/ft_string/ft_str/ft_itoa.c b/libft/src/ft_string/ft_str/ft_itoa.c similarity index 100% rename from libft_personal/src/ft_string/ft_str/ft_itoa.c rename to libft/src/ft_string/ft_str/ft_itoa.c diff --git a/libft_personal/src/ft_string/ft_str/ft_itoa_base.c b/libft/src/ft_string/ft_str/ft_itoa_base.c similarity index 100% rename from libft_personal/src/ft_string/ft_str/ft_itoa_base.c rename to libft/src/ft_string/ft_str/ft_itoa_base.c diff --git a/libft_personal/src/ft_string/ft_str/ft_perror.c b/libft/src/ft_string/ft_str/ft_perror.c similarity index 100% rename from libft_personal/src/ft_string/ft_str/ft_perror.c rename to libft/src/ft_string/ft_str/ft_perror.c diff --git a/libft_personal/src/ft_string/ft_str/ft_putendl_fd.c b/libft/src/ft_string/ft_str/ft_putendl_fd.c similarity index 100% rename from libft_personal/src/ft_string/ft_str/ft_putendl_fd.c rename to libft/src/ft_string/ft_str/ft_putendl_fd.c diff --git a/libft_personal/src/ft_string/ft_str/ft_putnbr_fd.c b/libft/src/ft_string/ft_str/ft_putnbr_fd.c similarity index 100% rename from libft_personal/src/ft_string/ft_str/ft_putnbr_fd.c rename to libft/src/ft_string/ft_str/ft_putnbr_fd.c diff --git a/libft_personal/src/ft_string/ft_str/ft_putstr_fd.c b/libft/src/ft_string/ft_str/ft_putstr_fd.c similarity index 100% rename from libft_personal/src/ft_string/ft_str/ft_putstr_fd.c rename to libft/src/ft_string/ft_str/ft_putstr_fd.c diff --git a/libft_personal/src/ft_string/ft_str/ft_shift_args.c b/libft/src/ft_string/ft_str/ft_shift_args.c similarity index 100% rename from libft_personal/src/ft_string/ft_str/ft_shift_args.c rename to libft/src/ft_string/ft_str/ft_shift_args.c diff --git a/libft_personal/src/ft_string/ft_str/ft_split.c b/libft/src/ft_string/ft_str/ft_split.c similarity index 100% rename from libft_personal/src/ft_string/ft_str/ft_split.c rename to libft/src/ft_string/ft_str/ft_split.c diff --git a/libft_personal/src/ft_string/ft_str/ft_splits.c b/libft/src/ft_string/ft_str/ft_splits.c similarity index 100% rename from libft_personal/src/ft_string/ft_str/ft_splits.c rename to libft/src/ft_string/ft_str/ft_splits.c diff --git a/libft_personal/src/ft_string/ft_str/ft_str_isalnum.c b/libft/src/ft_string/ft_str/ft_str_isalnum.c similarity index 100% rename from libft_personal/src/ft_string/ft_str/ft_str_isalnum.c rename to libft/src/ft_string/ft_str/ft_str_isalnum.c diff --git a/libft_personal/src/ft_string/ft_str/ft_str_isalpha.c b/libft/src/ft_string/ft_str/ft_str_isalpha.c similarity index 100% rename from libft_personal/src/ft_string/ft_str/ft_str_isalpha.c rename to libft/src/ft_string/ft_str/ft_str_isalpha.c diff --git a/libft_personal/src/ft_string/ft_str/ft_str_isbool.c b/libft/src/ft_string/ft_str/ft_str_isbool.c similarity index 100% rename from libft_personal/src/ft_string/ft_str/ft_str_isbool.c rename to libft/src/ft_string/ft_str/ft_str_isbool.c diff --git a/libft_personal/src/ft_string/ft_str/ft_str_isdigit.c b/libft/src/ft_string/ft_str/ft_str_isdigit.c similarity index 100% rename from libft_personal/src/ft_string/ft_str/ft_str_isdigit.c rename to libft/src/ft_string/ft_str/ft_str_isdigit.c diff --git a/libft_personal/src/ft_string/ft_str/ft_str_isdouble.c b/libft/src/ft_string/ft_str/ft_str_isdouble.c similarity index 100% rename from libft_personal/src/ft_string/ft_str/ft_str_isdouble.c rename to libft/src/ft_string/ft_str/ft_str_isdouble.c diff --git a/libft_personal/src/ft_string/ft_str/ft_str_isfloat.c b/libft/src/ft_string/ft_str/ft_str_isfloat.c similarity index 100% rename from libft_personal/src/ft_string/ft_str/ft_str_isfloat.c rename to libft/src/ft_string/ft_str/ft_str_isfloat.c diff --git a/libft_personal/src/ft_string/ft_str/ft_str_ishex.c b/libft/src/ft_string/ft_str/ft_str_ishex.c similarity index 100% rename from libft_personal/src/ft_string/ft_str/ft_str_ishex.c rename to libft/src/ft_string/ft_str/ft_str_ishex.c diff --git a/libft_personal/src/ft_string/ft_str/ft_str_isint.c b/libft/src/ft_string/ft_str/ft_str_isint.c similarity index 100% rename from libft_personal/src/ft_string/ft_str/ft_str_isint.c rename to libft/src/ft_string/ft_str/ft_str_isint.c diff --git a/libft_personal/src/ft_string/ft_str/ft_str_islong.c b/libft/src/ft_string/ft_str/ft_str_islong.c similarity index 100% rename from libft_personal/src/ft_string/ft_str/ft_str_islong.c rename to libft/src/ft_string/ft_str/ft_str_islong.c diff --git a/libft_personal/src/ft_string/ft_str/ft_str_isnum.c b/libft/src/ft_string/ft_str/ft_str_isnum.c similarity index 100% rename from libft_personal/src/ft_string/ft_str/ft_str_isnum.c rename to libft/src/ft_string/ft_str/ft_str_isnum.c diff --git a/libft_personal/src/ft_string/ft_str/ft_str_isoct.c b/libft/src/ft_string/ft_str/ft_str_isoct.c similarity index 100% rename from libft_personal/src/ft_string/ft_str/ft_str_isoct.c rename to libft/src/ft_string/ft_str/ft_str_isoct.c diff --git a/libft_personal/src/ft_string/ft_str/ft_str_isvalid.c b/libft/src/ft_string/ft_str/ft_str_isvalid.c similarity index 100% rename from libft_personal/src/ft_string/ft_str/ft_str_isvalid.c rename to libft/src/ft_string/ft_str/ft_str_isvalid.c diff --git a/libft_personal/src/ft_string/ft_str/ft_str_replace.c b/libft/src/ft_string/ft_str/ft_str_replace.c similarity index 100% rename from libft_personal/src/ft_string/ft_str/ft_str_replace.c rename to libft/src/ft_string/ft_str/ft_str_replace.c diff --git a/libft_personal/src/ft_string/ft_str/ft_strappend_c.c b/libft/src/ft_string/ft_str/ft_strappend_c.c similarity index 100% rename from libft_personal/src/ft_string/ft_str/ft_strappend_c.c rename to libft/src/ft_string/ft_str/ft_strappend_c.c diff --git a/libft_personal/src/ft_string/ft_str/ft_strchr.c b/libft/src/ft_string/ft_str/ft_strchr.c similarity index 100% rename from libft_personal/src/ft_string/ft_str/ft_strchr.c rename to libft/src/ft_string/ft_str/ft_strchr.c diff --git a/libft_personal/src/ft_string/ft_str/ft_strclen.c b/libft/src/ft_string/ft_str/ft_strclen.c similarity index 100% rename from libft_personal/src/ft_string/ft_str/ft_strclen.c rename to libft/src/ft_string/ft_str/ft_strclen.c diff --git a/libft_personal/src/ft_string/ft_str/ft_strcmp.c b/libft/src/ft_string/ft_str/ft_strcmp.c similarity index 100% rename from libft_personal/src/ft_string/ft_str/ft_strcmp.c rename to libft/src/ft_string/ft_str/ft_strcmp.c diff --git a/libft_personal/src/ft_string/ft_str/ft_strcnb.c b/libft/src/ft_string/ft_str/ft_strcnb.c similarity index 100% rename from libft_personal/src/ft_string/ft_str/ft_strcnb.c rename to libft/src/ft_string/ft_str/ft_strcnb.c diff --git a/libft_personal/src/ft_string/ft_str/ft_strcspn.c b/libft/src/ft_string/ft_str/ft_strcspn.c similarity index 100% rename from libft_personal/src/ft_string/ft_str/ft_strcspn.c rename to libft/src/ft_string/ft_str/ft_strcspn.c diff --git a/libft_personal/src/ft_string/ft_str/ft_strdup.c b/libft/src/ft_string/ft_str/ft_strdup.c similarity index 100% rename from libft_personal/src/ft_string/ft_str/ft_strdup.c rename to libft/src/ft_string/ft_str/ft_strdup.c diff --git a/libft_personal/src/ft_string/ft_str/ft_strend_with.c b/libft/src/ft_string/ft_str/ft_strend_with.c similarity index 100% rename from libft_personal/src/ft_string/ft_str/ft_strend_with.c rename to libft/src/ft_string/ft_str/ft_strend_with.c diff --git a/libft_personal/src/ft_string/ft_str/ft_strerror.c b/libft/src/ft_string/ft_str/ft_strerror.c similarity index 100% rename from libft_personal/src/ft_string/ft_str/ft_strerror.c rename to libft/src/ft_string/ft_str/ft_strerror.c diff --git a/libft_personal/src/ft_string/ft_str/ft_striteri.c b/libft/src/ft_string/ft_str/ft_striteri.c similarity index 100% rename from libft_personal/src/ft_string/ft_str/ft_striteri.c rename to libft/src/ft_string/ft_str/ft_striteri.c diff --git a/libft_personal/src/ft_string/ft_str/ft_strjoin.c b/libft/src/ft_string/ft_str/ft_strjoin.c similarity index 100% rename from libft_personal/src/ft_string/ft_str/ft_strjoin.c rename to libft/src/ft_string/ft_str/ft_strjoin.c diff --git a/libft_personal/src/ft_string/ft_str/ft_strlcat.c b/libft/src/ft_string/ft_str/ft_strlcat.c similarity index 100% rename from libft_personal/src/ft_string/ft_str/ft_strlcat.c rename to libft/src/ft_string/ft_str/ft_strlcat.c diff --git a/libft_personal/src/ft_string/ft_str/ft_strlcpy.c b/libft/src/ft_string/ft_str/ft_strlcpy.c similarity index 100% rename from libft_personal/src/ft_string/ft_str/ft_strlcpy.c rename to libft/src/ft_string/ft_str/ft_strlcpy.c diff --git a/libft_personal/src/ft_string/ft_str/ft_strlen.c b/libft/src/ft_string/ft_str/ft_strlen.c similarity index 100% rename from libft_personal/src/ft_string/ft_str/ft_strlen.c rename to libft/src/ft_string/ft_str/ft_strlen.c diff --git a/libft_personal/src/ft_string/ft_str/ft_strmapi.c b/libft/src/ft_string/ft_str/ft_strmapi.c similarity index 100% rename from libft_personal/src/ft_string/ft_str/ft_strmapi.c rename to libft/src/ft_string/ft_str/ft_strmapi.c diff --git a/libft_personal/src/ft_string/ft_str/ft_strncmp.c b/libft/src/ft_string/ft_str/ft_strncmp.c similarity index 100% rename from libft_personal/src/ft_string/ft_str/ft_strncmp.c rename to libft/src/ft_string/ft_str/ft_strncmp.c diff --git a/libft_personal/src/ft_string/ft_str/ft_strndup.c b/libft/src/ft_string/ft_str/ft_strndup.c similarity index 100% rename from libft_personal/src/ft_string/ft_str/ft_strndup.c rename to libft/src/ft_string/ft_str/ft_strndup.c diff --git a/libft_personal/src/ft_string/ft_str/ft_strnstr.c b/libft/src/ft_string/ft_str/ft_strnstr.c similarity index 100% rename from libft_personal/src/ft_string/ft_str/ft_strnstr.c rename to libft/src/ft_string/ft_str/ft_strnstr.c diff --git a/libft_personal/src/ft_string/ft_str/ft_strrchr.c b/libft/src/ft_string/ft_str/ft_strrchr.c similarity index 100% rename from libft_personal/src/ft_string/ft_str/ft_strrchr.c rename to libft/src/ft_string/ft_str/ft_strrchr.c diff --git a/libft_personal/src/ft_string/ft_str/ft_strspn.c b/libft/src/ft_string/ft_str/ft_strspn.c similarity index 100% rename from libft_personal/src/ft_string/ft_str/ft_strspn.c rename to libft/src/ft_string/ft_str/ft_strspn.c diff --git a/libft_personal/src/ft_string/ft_str/ft_strstart_with.c b/libft/src/ft_string/ft_str/ft_strstart_with.c similarity index 100% rename from libft_personal/src/ft_string/ft_str/ft_strstart_with.c rename to libft/src/ft_string/ft_str/ft_strstart_with.c diff --git a/libft_personal/src/ft_string/ft_str/ft_strtok.c b/libft/src/ft_string/ft_str/ft_strtok.c similarity index 100% rename from libft_personal/src/ft_string/ft_str/ft_strtok.c rename to libft/src/ft_string/ft_str/ft_strtok.c diff --git a/libft_personal/src/ft_string/ft_str/ft_strtrim.c b/libft/src/ft_string/ft_str/ft_strtrim.c similarity index 100% rename from libft_personal/src/ft_string/ft_str/ft_strtrim.c rename to libft/src/ft_string/ft_str/ft_strtrim.c diff --git a/libft_personal/src/ft_string/ft_str/ft_substr.c b/libft/src/ft_string/ft_str/ft_substr.c similarity index 100% rename from libft_personal/src/ft_string/ft_str/ft_substr.c rename to libft/src/ft_string/ft_str/ft_substr.c diff --git a/libft_personal/src/ft_string/ft_str/ft_utoa.c b/libft/src/ft_string/ft_str/ft_utoa.c similarity index 100% rename from libft_personal/src/ft_string/ft_str/ft_utoa.c rename to libft/src/ft_string/ft_str/ft_utoa.c diff --git a/libft_personal/src/ft_string/ft_str/get_next_line.c b/libft/src/ft_string/ft_str/get_next_line.c similarity index 100% rename from libft_personal/src/ft_string/ft_str/get_next_line.c rename to libft/src/ft_string/ft_str/get_next_line.c diff --git a/libft_personal/src/ft_string/ft_string/ft_string_append.c b/libft/src/ft_string/ft_string/ft_string_append.c similarity index 100% rename from libft_personal/src/ft_string/ft_string/ft_string_append.c rename to libft/src/ft_string/ft_string/ft_string_append.c diff --git a/libft_personal/src/ft_string/ft_string/ft_string_chr.c b/libft/src/ft_string/ft_string/ft_string_chr.c similarity index 100% rename from libft_personal/src/ft_string/ft_string/ft_string_chr.c rename to libft/src/ft_string/ft_string/ft_string_chr.c diff --git a/libft_personal/src/ft_string/ft_string/ft_string_clear.c b/libft/src/ft_string/ft_string/ft_string_clear.c similarity index 100% rename from libft_personal/src/ft_string/ft_string/ft_string_clear.c rename to libft/src/ft_string/ft_string/ft_string_clear.c diff --git a/libft_personal/src/ft_string/ft_string/ft_string_cmp.c b/libft/src/ft_string/ft_string/ft_string_cmp.c similarity index 100% rename from libft_personal/src/ft_string/ft_string/ft_string_cmp.c rename to libft/src/ft_string/ft_string/ft_string_cmp.c diff --git a/libft_personal/src/ft_string/ft_string/ft_string_destroy.c b/libft/src/ft_string/ft_string/ft_string_destroy.c similarity index 100% rename from libft_personal/src/ft_string/ft_string/ft_string_destroy.c rename to libft/src/ft_string/ft_string/ft_string_destroy.c diff --git a/libft_personal/src/ft_string/ft_string/ft_string_from.c b/libft/src/ft_string/ft_string/ft_string_from.c similarity index 100% rename from libft_personal/src/ft_string/ft_string/ft_string_from.c rename to libft/src/ft_string/ft_string/ft_string_from.c diff --git a/libft_personal/src/ft_string/ft_string/ft_string_get.c b/libft/src/ft_string/ft_string/ft_string_get.c similarity index 100% rename from libft_personal/src/ft_string/ft_string/ft_string_get.c rename to libft/src/ft_string/ft_string/ft_string_get.c diff --git a/libft_personal/src/ft_string/ft_string/ft_string_insert.c b/libft/src/ft_string/ft_string/ft_string_insert.c similarity index 100% rename from libft_personal/src/ft_string/ft_string/ft_string_insert.c rename to libft/src/ft_string/ft_string/ft_string_insert.c diff --git a/libft_personal/src/ft_string/ft_string/ft_string_new.c b/libft/src/ft_string/ft_string/ft_string_new.c similarity index 100% rename from libft_personal/src/ft_string/ft_string/ft_string_new.c rename to libft/src/ft_string/ft_string/ft_string_new.c diff --git a/libft_personal/src/ft_string/ft_string/ft_string_put.c b/libft/src/ft_string/ft_string/ft_string_put.c similarity index 100% rename from libft_personal/src/ft_string/ft_string/ft_string_put.c rename to libft/src/ft_string/ft_string/ft_string_put.c diff --git a/libft_personal/src/ft_string/ft_string/ft_string_replace.c b/libft/src/ft_string/ft_string/ft_string_replace.c similarity index 100% rename from libft_personal/src/ft_string/ft_string/ft_string_replace.c rename to libft/src/ft_string/ft_string/ft_string_replace.c diff --git a/libft_personal/src/ft_string/ft_string/ft_string_reserve.c b/libft/src/ft_string/ft_string/ft_string_reserve.c similarity index 100% rename from libft_personal/src/ft_string/ft_string/ft_string_reserve.c rename to libft/src/ft_string/ft_string/ft_string_reserve.c diff --git a/libft_personal/src/ft_string/ft_string/ft_string_resize.c b/libft/src/ft_string/ft_string/ft_string_resize.c similarity index 100% rename from libft_personal/src/ft_string/ft_string/ft_string_resize.c rename to libft/src/ft_string/ft_string/ft_string_resize.c diff --git a/libft_personal/src/ft_string/ft_string/ft_string_set.c b/libft/src/ft_string/ft_string/ft_string_set.c similarity index 100% rename from libft_personal/src/ft_string/ft_string/ft_string_set.c rename to libft/src/ft_string/ft_string/ft_string_set.c diff --git a/libft_personal/src/ft_string/ft_string/ft_string_shrink.c b/libft/src/ft_string/ft_string/ft_string_shrink.c similarity index 100% rename from libft_personal/src/ft_string/ft_string/ft_string_shrink.c rename to libft/src/ft_string/ft_string/ft_string_shrink.c diff --git a/libft_personal/src/ft_string/ft_string/ft_string_substr.c b/libft/src/ft_string/ft_string/ft_string_substr.c similarity index 100% rename from libft_personal/src/ft_string/ft_string/ft_string_substr.c rename to libft/src/ft_string/ft_string/ft_string_substr.c diff --git a/libft_personal/src/ft_string/ft_string/ft_string_to_str.c b/libft/src/ft_string/ft_string/ft_string_to_str.c similarity index 100% rename from libft_personal/src/ft_string/ft_string/ft_string_to_str.c rename to libft/src/ft_string/ft_string/ft_string_to_str.c diff --git a/libft_personal/src/ft_string/ft_string/ft_string_trim.c b/libft/src/ft_string/ft_string/ft_string_trim.c similarity index 100% rename from libft_personal/src/ft_string/ft_string/ft_string_trim.c rename to libft/src/ft_string/ft_string/ft_string_trim.c diff --git a/libft_personal/src/ft_vector/ft_vec_add.c b/libft/src/ft_vector/ft_vec_add.c similarity index 100% rename from libft_personal/src/ft_vector/ft_vec_add.c rename to libft/src/ft_vector/ft_vec_add.c diff --git a/libft_personal/src/ft_vector/ft_vec_apply.c b/libft/src/ft_vector/ft_vec_apply.c similarity index 100% rename from libft_personal/src/ft_vector/ft_vec_apply.c rename to libft/src/ft_vector/ft_vec_apply.c diff --git a/libft_personal/src/ft_vector/ft_vec_at.c b/libft/src/ft_vector/ft_vec_at.c similarity index 100% rename from libft_personal/src/ft_vector/ft_vec_at.c rename to libft/src/ft_vector/ft_vec_at.c diff --git a/libft_personal/src/ft_vector/ft_vec_cat.c b/libft/src/ft_vector/ft_vec_cat.c similarity index 100% rename from libft_personal/src/ft_vector/ft_vec_cat.c rename to libft/src/ft_vector/ft_vec_cat.c diff --git a/libft_personal/src/ft_vector/ft_vec_clear.c b/libft/src/ft_vector/ft_vec_clear.c similarity index 100% rename from libft_personal/src/ft_vector/ft_vec_clear.c rename to libft/src/ft_vector/ft_vec_clear.c diff --git a/libft_personal/src/ft_vector/ft_vec_destroy.c b/libft/src/ft_vector/ft_vec_destroy.c similarity index 100% rename from libft_personal/src/ft_vector/ft_vec_destroy.c rename to libft/src/ft_vector/ft_vec_destroy.c diff --git a/libft_personal/src/ft_vector/ft_vec_filter.c b/libft/src/ft_vector/ft_vec_filter.c similarity index 100% rename from libft_personal/src/ft_vector/ft_vec_filter.c rename to libft/src/ft_vector/ft_vec_filter.c diff --git a/libft_personal/src/ft_vector/ft_vec_get.c b/libft/src/ft_vector/ft_vec_get.c similarity index 100% rename from libft_personal/src/ft_vector/ft_vec_get.c rename to libft/src/ft_vector/ft_vec_get.c diff --git a/libft_personal/src/ft_vector/ft_vec_map.c b/libft/src/ft_vector/ft_vec_map.c similarity index 100% rename from libft_personal/src/ft_vector/ft_vec_map.c rename to libft/src/ft_vector/ft_vec_map.c diff --git a/libft_personal/src/ft_vector/ft_vec_new.c b/libft/src/ft_vector/ft_vec_new.c similarity index 100% rename from libft_personal/src/ft_vector/ft_vec_new.c rename to libft/src/ft_vector/ft_vec_new.c diff --git a/libft_personal/src/ft_vector/ft_vec_pop.c b/libft/src/ft_vector/ft_vec_pop.c similarity index 100% rename from libft_personal/src/ft_vector/ft_vec_pop.c rename to libft/src/ft_vector/ft_vec_pop.c diff --git a/libft_personal/src/ft_vector/ft_vec_remove.c b/libft/src/ft_vector/ft_vec_remove.c similarity index 100% rename from libft_personal/src/ft_vector/ft_vec_remove.c rename to libft/src/ft_vector/ft_vec_remove.c diff --git a/libft_personal/src/ft_vector/ft_vec_reserve.c b/libft/src/ft_vector/ft_vec_reserve.c similarity index 100% rename from libft_personal/src/ft_vector/ft_vec_reserve.c rename to libft/src/ft_vector/ft_vec_reserve.c diff --git a/libft_personal/src/ft_vector/ft_vec_reverse.c b/libft/src/ft_vector/ft_vec_reverse.c similarity index 100% rename from libft_personal/src/ft_vector/ft_vec_reverse.c rename to libft/src/ft_vector/ft_vec_reverse.c diff --git a/libft_personal/src/ft_vector/ft_vec_shift.c b/libft/src/ft_vector/ft_vec_shift.c similarity index 100% rename from libft_personal/src/ft_vector/ft_vec_shift.c rename to libft/src/ft_vector/ft_vec_shift.c diff --git a/libft_personal/src/ft_vector/ft_vec_shrink.c b/libft/src/ft_vector/ft_vec_shrink.c similarity index 100% rename from libft_personal/src/ft_vector/ft_vec_shrink.c rename to libft/src/ft_vector/ft_vec_shrink.c diff --git a/libft_personal/src/ft_vector/ft_vec_sort.c b/libft/src/ft_vector/ft_vec_sort.c similarity index 100% rename from libft_personal/src/ft_vector/ft_vec_sort.c rename to libft/src/ft_vector/ft_vec_sort.c diff --git a/libft_personal/src/ft_vector/ft_vec_swap.c b/libft/src/ft_vector/ft_vec_swap.c similarity index 100% rename from libft_personal/src/ft_vector/ft_vec_swap.c rename to libft/src/ft_vector/ft_vec_swap.c diff --git a/libft_personal/src/ft_vector/ft_vec_to_array.c b/libft/src/ft_vector/ft_vec_to_array.c similarity index 100% rename from libft_personal/src/ft_vector/ft_vec_to_array.c rename to libft/src/ft_vector/ft_vec_to_array.c diff --git a/libft/str/ft_split.c b/libft/str/ft_split.c deleted file mode 100644 index 95f71df..0000000 --- a/libft/str/ft_split.c +++ /dev/null @@ -1,102 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_split.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: rparodi +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2023/11/09 13:56:02 by rparodi #+# #+# */ -/* Updated: 2024/10/31 18:13:39 by rparodi ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -static int count_words(const char *str, char sep) -{ - int i; - int count; - - i = 0; - count = 0; - while (str[i]) - { - while (str[i] == sep && str[i]) - i++; - if (str[i] != sep && str[i]) - { - while (str[i] != sep && str[i]) - i++; - count++; - } - } - return (count); -} - -static char *ft_strndup(const char *s, int j) -{ - int i; - char *str; - - i = 0; - str = (char *)malloc((j + 1)); - if (!str) - return (NULL); - while (s[i] && i < j) - { - str[i] = s[i]; - i++; - } - str[i] = '\0'; - return (str); -} - -static char **ext_w(char **words_array, const char *str, char sep, int size) -{ - int i; - int j; - - i = 0; - j = 0; - while (j < size) - { - while (str[i] == sep && str[i]) - i++; - str = str + i; - i = 0; - while (str[i] != sep && str[i]) - i++; - words_array[j++] = ft_strndup(str, i); - str = str + i; - i = 0; - } - words_array[j] = 0; - return (words_array); -} - -/** - * @brief Splits a string into an array of substrings based on a delimiter. - * - * @param s The string to split. - * @param c The delimiter character. - * - * @return A NULL-terminated array of substrings, - * or NULL if memory allocation fails. - */ -char **ft_split(char const *s, char c) -{ - int size; - char **words_array; - - size = count_words(s, c); - words_array = (char **)malloc(sizeof(char *) * (size + 1)); - if (!words_array) - return (NULL); - if (size == 0) - { - words_array[0] = NULL; - return (words_array); - } - words_array = ext_w(words_array, s, c, size); - return (words_array); -} diff --git a/libft/str/ft_strchr.c b/libft/str/ft_strchr.c deleted file mode 100644 index 82ee8bd..0000000 --- a/libft/str/ft_strchr.c +++ /dev/null @@ -1,38 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_strchr.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: rparodi +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2023/11/07 16:32:19 by rparodi #+# #+# */ -/* Updated: 2024/10/31 18:13:01 by rparodi ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -/** - * @brief Locates the first occurrence of a character in a string. - * - * @param s The string to search. - * @param c The character to locate. - * - * @return A pointer to the matched character, - * or NULL if it does not appear in `s`. - */ -char *ft_strchr(const char *s, int c) -{ - unsigned int i; - - i = 0; - if (c == 0) - return ((char *)s + ft_strlen(s)); - while (s[i] != '\0') - { - if (s[i] == (char)c) - return ((char *)s + i); - i++; - } - return (NULL); -} diff --git a/libft/str/ft_strcmp.c b/libft/str/ft_strcmp.c deleted file mode 100644 index 08ad900..0000000 --- a/libft/str/ft_strcmp.c +++ /dev/null @@ -1,42 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_strcmp.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: rparodi +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2023/11/07 16:56:56 by rparodi #+# #+# */ -/* Updated: 2024/10/31 18:07:20 by rparodi ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -/** - * @brief Compares two strings lexicographically. - * - * @param s1 The first string to compare. - * @param s2 The second string to compare. - * - * @return An integer indicating the relationship between the two strings: - * - `< 0` if `s1` is less than `s2`. - * - `0` if `s1` equals `s2`. - * - `> 0` if `s1` is greater than `s2`. - */ -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); -} diff --git a/libft/str/ft_strcpy.c b/libft/str/ft_strcpy.c deleted file mode 100644 index 756166a..0000000 --- a/libft/str/ft_strcpy.c +++ /dev/null @@ -1,35 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_strcpy.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: rparodi +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2024/10/31 16:14:10 by rparodi #+# #+# */ -/* Updated: 2024/10/31 18:14:03 by rparodi ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -/** - * @brief Copies a string. - * - * @param dst The destination buffer. - * @param src The source string. - * - * @return A pointer to `dst`. - */ -char *ft_strcpy(char *dst, const char *src) -{ - size_t i; - - i = 0; - while (src[i]) - { - dst[i] = src[i]; - i++; - } - dst[i] = '\0'; - return (dst); -} diff --git a/libft/str/ft_strdup.c b/libft/str/ft_strdup.c deleted file mode 100644 index 15a229a..0000000 --- a/libft/str/ft_strdup.c +++ /dev/null @@ -1,34 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_strdup.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: rparodi +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2023/11/07 16:53:59 by rparodi #+# #+# */ -/* Updated: 2024/10/31 18:14:44 by rparodi ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -/** - * @brief Duplicates a string. - * - * @param s1 The string to duplicate. - * - * @return A pointer to the duplicated string, - * or NULL if memory allocation fails. - */ -char *ft_strdup(const char *s) -{ - size_t len; - char *to_return; - - len = ft_strlen(s) + 1; - to_return = (char *)malloc(sizeof(char) * len); - if (!to_return) - return (NULL); - ft_strlcpy(to_return, s, len); - return (to_return); -} diff --git a/libft/str/ft_striteri.c b/libft/str/ft_striteri.c deleted file mode 100644 index 581d59a..0000000 --- a/libft/str/ft_striteri.c +++ /dev/null @@ -1,33 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_striteri.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: rparodi +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2023/11/09 13:57:34 by rparodi #+# #+# */ -/* Updated: 2024/10/31 18:11:04 by rparodi ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -/** - * @brief Applies a function to each character of a string. - * - * @param s The string to modify. - * @param f The function to apply to each character. - * - * @return void - */ -void ft_striteri(char *s, void (*f)(unsigned int, char*)) -{ - size_t i; - - i = 0; - while (s[i] != '\0') - { - f(i, s + i); - i++; - } -} diff --git a/libft/str/ft_strjoin.c b/libft/str/ft_strjoin.c deleted file mode 100644 index 8b353b0..0000000 --- a/libft/str/ft_strjoin.c +++ /dev/null @@ -1,48 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_strjoin.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: rparodi +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2023/11/09 13:55:15 by rparodi #+# #+# */ -/* Updated: 2024/10/31 18:13:21 by rparodi ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -/** - * @brief Joins two strings into a new string. - * - * @param s1 The first string. - * @param s2 The second string. - * - * @return A pointer to the new concatenated string, - * or NULL if memory allocation fails. - */ -char *ft_strjoin(char const *s1, char const *s2) -{ - size_t i; - size_t save_i; - char *str; - - i = 0; - str = (char *)malloc((ft_strlen(s1) + ft_strlen(s2)) + 1); - if (!str) - return (NULL); - while (s1[i] != '\0') - { - str[i] = s1[i]; - i++; - } - save_i = i; - i = 0; - while (s2[i] != '\0') - { - str[save_i + i] = s2[i]; - i++; - } - str[i + save_i] = '\0'; - return (str); -} diff --git a/libft/str/ft_strlcat.c b/libft/str/ft_strlcat.c deleted file mode 100644 index 2dde695..0000000 --- a/libft/str/ft_strlcat.c +++ /dev/null @@ -1,58 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_strlcat.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: rparodi +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2023/11/08 22:28:26 by rparodi #+# #+# */ -/* Updated: 2024/10/31 18:10:19 by rparodi ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -static size_t ft_strnlen(char *dest, size_t size) -{ - size_t i; - - i = 0; - while (i < size && dest[i] != '\0') - i++; - return (i); -} - -/** - * @brief Appends a string with size limit. - * - * @param dst The destination buffer. - * @param src The source string. - * @param size The size of the destination buffer. - * - * @return The total length of the string it tried to create. - */ -size_t ft_strlcat(char *dest, const char *src, size_t size) -{ - size_t i; - size_t j; - size_t destlen; - - i = 0; - j = 0; - destlen = ft_strnlen(dest, size); - while (i < size && dest[i]) - i++; - if (i == size) - return (i + ft_strlen(src)); - while (src[j]) - { - if (j < size - destlen - 1) - { - dest[i] = src[j]; - i++; - } - j++; - } - dest[i] = '\0'; - return (destlen + j); -} diff --git a/libft/str/ft_strlcpy.c b/libft/str/ft_strlcpy.c deleted file mode 100644 index 1d089fa..0000000 --- a/libft/str/ft_strlcpy.c +++ /dev/null @@ -1,40 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_strlcpy.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: rparodi +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2023/11/07 16:55:25 by rparodi #+# #+# */ -/* Updated: 2024/10/31 18:12:13 by rparodi ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -/** - * @brief Copies a string with size limit. - * - * @param dst The destination buffer. - * @param src The source string. - * @param size The maximum number of characters to copy. - * - * @return The total length of `src`. - */ -size_t ft_strlcpy(char *dst, const char *src, size_t size) -{ - size_t i; - - i = 0; - while (src[i] && i + 1 < size) - { - dst[i] = src[i]; - i++; - } - if (size > 0) - { - dst[i] = '\0'; - i++; - } - return (ft_strlen(src)); -} diff --git a/libft/str/ft_strlen.c b/libft/str/ft_strlen.c deleted file mode 100644 index 4c0e9a7..0000000 --- a/libft/str/ft_strlen.c +++ /dev/null @@ -1,30 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_strlen.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: rparodi +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2023/11/07 16:56:24 by rparodi #+# #+# */ -/* Updated: 2024/10/31 18:12:19 by rparodi ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -/** - * @brief Computes the length of a string. - * - * @param s The input string. - * - * @return The number of characters in the string `s`. - */ -size_t ft_strlen(const char *s) -{ - size_t i; - - i = 0; - while (s[i] != '\0') - i++; - return (i); -} diff --git a/libft/str/ft_strmapi.c b/libft/str/ft_strmapi.c deleted file mode 100644 index 691df40..0000000 --- a/libft/str/ft_strmapi.c +++ /dev/null @@ -1,43 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_strmapi.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: rparodi +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2023/11/09 13:56:57 by rparodi #+# #+# */ -/* Updated: 2024/10/31 18:14:29 by rparodi ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -/** - * @brief Applies a function to each character of a string. - * - * @param s The input string. - * @param f The function to apply to each character. - * - * @return A pointer to the newly created string, - * or NULL if memory allocation fails. - */ -char *ft_strmapi(char const *s, char (*f)(unsigned int, char)) -{ - size_t i; - size_t len; - char *str; - - i = 0; - len = ft_strlen(s); - str = (char *)malloc(len + 1); - if (!str) - return (NULL); - else - ft_bzero((char *)str, len + 1); - while (i < len) - { - str[i] = f(i, s[i]); - i++; - } - return (str); -} diff --git a/libft/str/ft_strncmp.c b/libft/str/ft_strncmp.c deleted file mode 100644 index 714b572..0000000 --- a/libft/str/ft_strncmp.c +++ /dev/null @@ -1,40 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_strncmp.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: rparodi +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2023/11/07 16:56:56 by rparodi #+# #+# */ -/* Updated: 2024/10/31 18:13:58 by rparodi ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -/** - * @brief Compares two strings up to a specified number of characters. - * - * @param s1 The first string to compare. - * @param s2 The second string to compare. - * @param n The maximum number of characters to compare. - * - * @return An integer indicating the relationship between the two strings. - */ -int ft_strncmp(const char *s1, const char *s2, size_t n) -{ - size_t i; - int diff; - - i = 0; - while ((s1[i] || s2[i]) && i < n) - { - if (s1[i] != s2[i]) - { - diff = (unsigned char)s1[i] - (unsigned char)s2[i]; - return (diff); - } - i++; - } - return (0); -} diff --git a/libft/str/ft_strnstr.c b/libft/str/ft_strnstr.c deleted file mode 100644 index b5061fa..0000000 --- a/libft/str/ft_strnstr.c +++ /dev/null @@ -1,51 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_strnstr.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: rparodi +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2023/11/07 16:57:44 by rparodi #+# #+# */ -/* Updated: 2024/10/31 18:12:05 by rparodi ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -/** - * @brief Locates a substring within a string, up to a specified length. - * - * The `ft_strnstr` function locates the first occurrence of the null-terminated - * string `needle` within the string `haystack`, - * searching only up to `len` characters. - * - * @param big The string to search. - * @param little The substring to locate. - * @param len The maximum number of characters to search. - * - * @return A pointer to the beginning of the located substring, - * or NULL if `needle` is not found. - */ -char *ft_strnstr(const char *big, const char *little, size_t len) -{ - size_t i; - size_t j; - - i = 0; - if (len == 0 && (!big || !little)) - return (NULL); - if (!little[i]) - return ((char *)big); - while (big[i] && i < len) - { - j = 0; - while (i + j < len && little[j] == big[i + j]) - { - j++; - if (little[j] == '\0') - return ((char *)(big + i)); - } - i++; - } - return (0); -} diff --git a/libft/str/ft_strrchr.c b/libft/str/ft_strrchr.c deleted file mode 100644 index 5d06ac9..0000000 --- a/libft/str/ft_strrchr.c +++ /dev/null @@ -1,38 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_strrchr.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: rparodi +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2023/11/07 16:58:22 by rparodi #+# #+# */ -/* Updated: 2024/10/31 18:13:53 by rparodi ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -/** - * @brief Locates the last occurrence of a character in a string. - * - * @param s The string to search. - * @param c The character to locate. - * - * @return A pointer to the matched character, - * or NULL if it does not appear in `s`. - */ -char *ft_strrchr(const char *s, int c) -{ - size_t i; - - i = ft_strlen(s); - while (i > 0) - { - if (s[i] == c % 256) - return ((char *)s + i); - i--; - } - if (s[i] == c % 256) - return ((char *)s + i); - return (NULL); -} diff --git a/libft/str/ft_strtrim.c b/libft/str/ft_strtrim.c deleted file mode 100644 index 8a1b364..0000000 --- a/libft/str/ft_strtrim.c +++ /dev/null @@ -1,48 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_strtrim.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: rparodi +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2023/11/09 13:55:44 by rparodi #+# #+# */ -/* Updated: 2024/10/31 18:09:25 by rparodi ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -/** - * @brief Trims specified characters from the start and end of a string. - * - * @param s1 The string to trim. - * @param set The set of characters to remove. - * - * @return A pointer to the trimmed string, or NULL if memory allocation fails. - */ -char *ft_strtrim(char const *s1, char const *set) -{ - size_t i; - size_t j; - size_t k; - char *str; - - if (!s1) - return (NULL); - i = 0; - while (ft_strchr(set, s1[i]) != NULL && s1[i]) - i++; - if (i == ft_strlen(s1)) - return (ft_strdup("")); - j = ft_strlen(s1); - while (ft_strrchr(set, s1[j - 1]) != NULL && j > i) - j--; - str = (char *)malloc(j - i + 1); - if (!str) - return (NULL); - k = 0; - while (i < j) - str[k++] = s1[i++]; - str[k] = '\0'; - return (str); -} diff --git a/libft/str/ft_substr.c b/libft/str/ft_substr.c deleted file mode 100644 index 7129bdf..0000000 --- a/libft/str/ft_substr.c +++ /dev/null @@ -1,37 +0,0 @@ -/* ************************************************************************** */ -/* */ -/* ::: :::::::: */ -/* ft_substr.c :+: :+: :+: */ -/* +:+ +:+ +:+ */ -/* By: rparodi +#+ +:+ +#+ */ -/* +#+#+#+#+#+ +#+ */ -/* Created: 2023/11/09 13:54:42 by rparodi #+# #+# */ -/* Updated: 2024/10/31 18:10:59 by rparodi ### ########.fr */ -/* */ -/* ************************************************************************** */ - -#include "libft.h" - -/** - * @brief Extracts a substring from a string. - * - * @param s The source string. - * @param start The starting index of the substring. - * @param len The maximum length of the substring. - * - * @return A pointer to the substring, or NULL if memory allocation fails. - */ -char *ft_substr(char const *s, unsigned int start, size_t len) -{ - char *str; - - if (start >= ft_strlen(s)) - return (ft_strdup("")); - if (len + start > (ft_strlen(s))) - len = ft_strlen(s) - start; - str = (char *)malloc(len + 1); - if (!str || !s) - return (free(str), ft_strdup("")); - ft_strlcpy(str, s + start, len + 1); - return (str); -} diff --git a/libft_personal/tests/ft_args/args_tests.c b/libft/tests/ft_args/args_tests.c similarity index 100% rename from libft_personal/tests/ft_args/args_tests.c rename to libft/tests/ft_args/args_tests.c diff --git a/libft_personal/tests/ft_args/tests_custom_checker.c b/libft/tests/ft_args/tests_custom_checker.c similarity index 100% rename from libft_personal/tests/ft_args/tests_custom_checker.c rename to libft/tests/ft_args/tests_custom_checker.c diff --git a/libft_personal/tests/ft_args/tests_optlist.c b/libft/tests/ft_args/tests_optlist.c similarity index 100% rename from libft_personal/tests/ft_args/tests_optlist.c rename to libft/tests/ft_args/tests_optlist.c diff --git a/libft_personal/tests/ft_args/tests_progname.c b/libft/tests/ft_args/tests_progname.c similarity index 100% rename from libft_personal/tests/ft_args/tests_progname.c rename to libft/tests/ft_args/tests_progname.c diff --git a/libft_personal/tests/ft_args/tests_setup_prog.c b/libft/tests/ft_args/tests_setup_prog.c similarity index 100% rename from libft_personal/tests/ft_args/tests_setup_prog.c rename to libft/tests/ft_args/tests_setup_prog.c diff --git a/libft_personal/tests/ft_args/tests_version.c b/libft/tests/ft_args/tests_version.c similarity index 100% rename from libft_personal/tests/ft_args/tests_version.c rename to libft/tests/ft_args/tests_version.c diff --git a/libft_personal/tests/ft_list/dl_tests/dl_list_tests.c b/libft/tests/ft_list/dl_tests/dl_list_tests.c similarity index 100% rename from libft_personal/tests/ft_list/dl_tests/dl_list_tests.c rename to libft/tests/ft_list/dl_tests/dl_list_tests.c diff --git a/libft_personal/tests/ft_list/dl_tests/dl_tests_utils.c b/libft/tests/ft_list/dl_tests/dl_tests_utils.c similarity index 100% rename from libft_personal/tests/ft_list/dl_tests/dl_tests_utils.c rename to libft/tests/ft_list/dl_tests/dl_tests_utils.c diff --git a/libft_personal/tests/ft_list/dl_tests/tests_dlist_add.c b/libft/tests/ft_list/dl_tests/tests_dlist_add.c similarity index 100% rename from libft_personal/tests/ft_list/dl_tests/tests_dlist_add.c rename to libft/tests/ft_list/dl_tests/tests_dlist_add.c diff --git a/libft_personal/tests/ft_list/dl_tests/tests_dlist_apply.c b/libft/tests/ft_list/dl_tests/tests_dlist_apply.c similarity index 100% rename from libft_personal/tests/ft_list/dl_tests/tests_dlist_apply.c rename to libft/tests/ft_list/dl_tests/tests_dlist_apply.c diff --git a/libft_personal/tests/ft_list/dl_tests/tests_dlist_clear.c b/libft/tests/ft_list/dl_tests/tests_dlist_clear.c similarity index 100% rename from libft_personal/tests/ft_list/dl_tests/tests_dlist_clear.c rename to libft/tests/ft_list/dl_tests/tests_dlist_clear.c diff --git a/libft_personal/tests/ft_list/dl_tests/tests_dlist_copy.c b/libft/tests/ft_list/dl_tests/tests_dlist_copy.c similarity index 100% rename from libft_personal/tests/ft_list/dl_tests/tests_dlist_copy.c rename to libft/tests/ft_list/dl_tests/tests_dlist_copy.c diff --git a/libft_personal/tests/ft_list/dl_tests/tests_dlist_create.c b/libft/tests/ft_list/dl_tests/tests_dlist_create.c similarity index 100% rename from libft_personal/tests/ft_list/dl_tests/tests_dlist_create.c rename to libft/tests/ft_list/dl_tests/tests_dlist_create.c diff --git a/libft_personal/tests/ft_list/dl_tests/tests_dlist_delete.c b/libft/tests/ft_list/dl_tests/tests_dlist_delete.c similarity index 100% rename from libft_personal/tests/ft_list/dl_tests/tests_dlist_delete.c rename to libft/tests/ft_list/dl_tests/tests_dlist_delete.c diff --git a/libft_personal/tests/ft_list/dl_tests/tests_dlist_find.c b/libft/tests/ft_list/dl_tests/tests_dlist_find.c similarity index 100% rename from libft_personal/tests/ft_list/dl_tests/tests_dlist_find.c rename to libft/tests/ft_list/dl_tests/tests_dlist_find.c diff --git a/libft_personal/tests/ft_list/dl_tests/tests_dlist_get.c b/libft/tests/ft_list/dl_tests/tests_dlist_get.c similarity index 100% rename from libft_personal/tests/ft_list/dl_tests/tests_dlist_get.c rename to libft/tests/ft_list/dl_tests/tests_dlist_get.c diff --git a/libft_personal/tests/ft_list/dl_tests/tests_dlist_iterators.c b/libft/tests/ft_list/dl_tests/tests_dlist_iterators.c similarity index 100% rename from libft_personal/tests/ft_list/dl_tests/tests_dlist_iterators.c rename to libft/tests/ft_list/dl_tests/tests_dlist_iterators.c diff --git a/libft_personal/tests/ft_list/dl_tests/tests_dlist_map.c b/libft/tests/ft_list/dl_tests/tests_dlist_map.c similarity index 100% rename from libft_personal/tests/ft_list/dl_tests/tests_dlist_map.c rename to libft/tests/ft_list/dl_tests/tests_dlist_map.c diff --git a/libft_personal/tests/ft_list/dl_tests/tests_dlist_new.c b/libft/tests/ft_list/dl_tests/tests_dlist_new.c similarity index 100% rename from libft_personal/tests/ft_list/dl_tests/tests_dlist_new.c rename to libft/tests/ft_list/dl_tests/tests_dlist_new.c diff --git a/libft_personal/tests/ft_list/dl_tests/tests_dlist_push.c b/libft/tests/ft_list/dl_tests/tests_dlist_push.c similarity index 100% rename from libft_personal/tests/ft_list/dl_tests/tests_dlist_push.c rename to libft/tests/ft_list/dl_tests/tests_dlist_push.c diff --git a/libft_personal/tests/ft_list/dl_tests/tests_dlist_rev.c b/libft/tests/ft_list/dl_tests/tests_dlist_rev.c similarity index 100% rename from libft_personal/tests/ft_list/dl_tests/tests_dlist_rev.c rename to libft/tests/ft_list/dl_tests/tests_dlist_rev.c diff --git a/libft_personal/tests/ft_list/dl_tests/tests_dlist_sizers.c b/libft/tests/ft_list/dl_tests/tests_dlist_sizers.c similarity index 100% rename from libft_personal/tests/ft_list/dl_tests/tests_dlist_sizers.c rename to libft/tests/ft_list/dl_tests/tests_dlist_sizers.c diff --git a/libft_personal/tests/ft_list/dl_tests/tests_dlist_subrange.c b/libft/tests/ft_list/dl_tests/tests_dlist_subrange.c similarity index 100% rename from libft_personal/tests/ft_list/dl_tests/tests_dlist_subrange.c rename to libft/tests/ft_list/dl_tests/tests_dlist_subrange.c diff --git a/libft_personal/tests/ft_list/ll_tests/ll_list_tests.c b/libft/tests/ft_list/ll_tests/ll_list_tests.c similarity index 100% rename from libft_personal/tests/ft_list/ll_tests/ll_list_tests.c rename to libft/tests/ft_list/ll_tests/ll_list_tests.c diff --git a/libft_personal/tests/ft_list/ll_tests/ll_tests_utils.c b/libft/tests/ft_list/ll_tests/ll_tests_utils.c similarity index 100% rename from libft_personal/tests/ft_list/ll_tests/ll_tests_utils.c rename to libft/tests/ft_list/ll_tests/ll_tests_utils.c diff --git a/libft_personal/tests/ft_list/ll_tests/tests_list_add.c b/libft/tests/ft_list/ll_tests/tests_list_add.c similarity index 100% rename from libft_personal/tests/ft_list/ll_tests/tests_list_add.c rename to libft/tests/ft_list/ll_tests/tests_list_add.c diff --git a/libft_personal/tests/ft_list/ll_tests/tests_list_apply.c b/libft/tests/ft_list/ll_tests/tests_list_apply.c similarity index 100% rename from libft_personal/tests/ft_list/ll_tests/tests_list_apply.c rename to libft/tests/ft_list/ll_tests/tests_list_apply.c diff --git a/libft_personal/tests/ft_list/ll_tests/tests_list_clear.c b/libft/tests/ft_list/ll_tests/tests_list_clear.c similarity index 100% rename from libft_personal/tests/ft_list/ll_tests/tests_list_clear.c rename to libft/tests/ft_list/ll_tests/tests_list_clear.c diff --git a/libft_personal/tests/ft_list/ll_tests/tests_list_copy.c b/libft/tests/ft_list/ll_tests/tests_list_copy.c similarity index 100% rename from libft_personal/tests/ft_list/ll_tests/tests_list_copy.c rename to libft/tests/ft_list/ll_tests/tests_list_copy.c diff --git a/libft_personal/tests/ft_list/ll_tests/tests_list_create.c b/libft/tests/ft_list/ll_tests/tests_list_create.c similarity index 100% rename from libft_personal/tests/ft_list/ll_tests/tests_list_create.c rename to libft/tests/ft_list/ll_tests/tests_list_create.c diff --git a/libft_personal/tests/ft_list/ll_tests/tests_list_deletors.c b/libft/tests/ft_list/ll_tests/tests_list_deletors.c similarity index 100% rename from libft_personal/tests/ft_list/ll_tests/tests_list_deletors.c rename to libft/tests/ft_list/ll_tests/tests_list_deletors.c diff --git a/libft_personal/tests/ft_list/ll_tests/tests_list_find.c b/libft/tests/ft_list/ll_tests/tests_list_find.c similarity index 100% rename from libft_personal/tests/ft_list/ll_tests/tests_list_find.c rename to libft/tests/ft_list/ll_tests/tests_list_find.c diff --git a/libft_personal/tests/ft_list/ll_tests/tests_list_get.c b/libft/tests/ft_list/ll_tests/tests_list_get.c similarity index 100% rename from libft_personal/tests/ft_list/ll_tests/tests_list_get.c rename to libft/tests/ft_list/ll_tests/tests_list_get.c diff --git a/libft_personal/tests/ft_list/ll_tests/tests_list_iterators.c b/libft/tests/ft_list/ll_tests/tests_list_iterators.c similarity index 100% rename from libft_personal/tests/ft_list/ll_tests/tests_list_iterators.c rename to libft/tests/ft_list/ll_tests/tests_list_iterators.c diff --git a/libft_personal/tests/ft_list/ll_tests/tests_list_map.c b/libft/tests/ft_list/ll_tests/tests_list_map.c similarity index 100% rename from libft_personal/tests/ft_list/ll_tests/tests_list_map.c rename to libft/tests/ft_list/ll_tests/tests_list_map.c diff --git a/libft_personal/tests/ft_list/ll_tests/tests_list_new.c b/libft/tests/ft_list/ll_tests/tests_list_new.c similarity index 100% rename from libft_personal/tests/ft_list/ll_tests/tests_list_new.c rename to libft/tests/ft_list/ll_tests/tests_list_new.c diff --git a/libft_personal/tests/ft_list/ll_tests/tests_list_push.c b/libft/tests/ft_list/ll_tests/tests_list_push.c similarity index 100% rename from libft_personal/tests/ft_list/ll_tests/tests_list_push.c rename to libft/tests/ft_list/ll_tests/tests_list_push.c diff --git a/libft_personal/tests/ft_list/ll_tests/tests_list_rev.c b/libft/tests/ft_list/ll_tests/tests_list_rev.c similarity index 100% rename from libft_personal/tests/ft_list/ll_tests/tests_list_rev.c rename to libft/tests/ft_list/ll_tests/tests_list_rev.c diff --git a/libft_personal/tests/ft_list/ll_tests/tests_list_sizers.c b/libft/tests/ft_list/ll_tests/tests_list_sizers.c similarity index 100% rename from libft_personal/tests/ft_list/ll_tests/tests_list_sizers.c rename to libft/tests/ft_list/ll_tests/tests_list_sizers.c diff --git a/libft_personal/tests/ft_list/ll_tests/tests_list_subrange.c b/libft/tests/ft_list/ll_tests/tests_list_subrange.c similarity index 100% rename from libft_personal/tests/ft_list/ll_tests/tests_list_subrange.c rename to libft/tests/ft_list/ll_tests/tests_list_subrange.c diff --git a/libft_personal/tests/ft_map/map_tests.c b/libft/tests/ft_map/map_tests.c similarity index 100% rename from libft_personal/tests/ft_map/map_tests.c rename to libft/tests/ft_map/map_tests.c diff --git a/libft_personal/tests/ft_map/tests_map_cappacity.c b/libft/tests/ft_map/tests_map_cappacity.c similarity index 100% rename from libft_personal/tests/ft_map/tests_map_cappacity.c rename to libft/tests/ft_map/tests_map_cappacity.c diff --git a/libft_personal/tests/ft_map/tests_map_clear.c b/libft/tests/ft_map/tests_map_clear.c similarity index 100% rename from libft_personal/tests/ft_map/tests_map_clear.c rename to libft/tests/ft_map/tests_map_clear.c diff --git a/libft_personal/tests/ft_map/tests_map_create.c b/libft/tests/ft_map/tests_map_create.c similarity index 100% rename from libft_personal/tests/ft_map/tests_map_create.c rename to libft/tests/ft_map/tests_map_create.c diff --git a/libft_personal/tests/ft_map/tests_map_destroy.c b/libft/tests/ft_map/tests_map_destroy.c similarity index 100% rename from libft_personal/tests/ft_map/tests_map_destroy.c rename to libft/tests/ft_map/tests_map_destroy.c diff --git a/libft_personal/tests/ft_map/tests_map_get.c b/libft/tests/ft_map/tests_map_get.c similarity index 100% rename from libft_personal/tests/ft_map/tests_map_get.c rename to libft/tests/ft_map/tests_map_get.c diff --git a/libft_personal/tests/ft_map/tests_map_hash.c b/libft/tests/ft_map/tests_map_hash.c similarity index 100% rename from libft_personal/tests/ft_map/tests_map_hash.c rename to libft/tests/ft_map/tests_map_hash.c diff --git a/libft_personal/tests/ft_map/tests_map_remove.c b/libft/tests/ft_map/tests_map_remove.c similarity index 100% rename from libft_personal/tests/ft_map/tests_map_remove.c rename to libft/tests/ft_map/tests_map_remove.c diff --git a/libft_personal/tests/ft_map/tests_map_set.c b/libft/tests/ft_map/tests_map_set.c similarity index 100% rename from libft_personal/tests/ft_map/tests_map_set.c rename to libft/tests/ft_map/tests_map_set.c diff --git a/libft_personal/tests/ft_map/tests_map_set_cmphash.c b/libft/tests/ft_map/tests_map_set_cmphash.c similarity index 100% rename from libft_personal/tests/ft_map/tests_map_set_cmphash.c rename to libft/tests/ft_map/tests_map_set_cmphash.c diff --git a/libft_personal/tests/ft_map/tests_map_size.c b/libft/tests/ft_map/tests_map_size.c similarity index 100% rename from libft_personal/tests/ft_map/tests_map_size.c rename to libft/tests/ft_map/tests_map_size.c diff --git a/libft_personal/tests/ft_math/math_tests.c b/libft/tests/ft_math/math_tests.c similarity index 100% rename from libft_personal/tests/ft_math/math_tests.c rename to libft/tests/ft_math/math_tests.c diff --git a/libft_personal/tests/ft_math/tests_abs.c b/libft/tests/ft_math/tests_abs.c similarity index 100% rename from libft_personal/tests/ft_math/tests_abs.c rename to libft/tests/ft_math/tests_abs.c diff --git a/libft_personal/tests/ft_math/tests_align.c b/libft/tests/ft_math/tests_align.c similarity index 100% rename from libft_personal/tests/ft_math/tests_align.c rename to libft/tests/ft_math/tests_align.c diff --git a/libft_personal/tests/ft_math/tests_clamp.c b/libft/tests/ft_math/tests_clamp.c similarity index 100% rename from libft_personal/tests/ft_math/tests_clamp.c rename to libft/tests/ft_math/tests_clamp.c diff --git a/libft_personal/tests/ft_math/tests_complex.c b/libft/tests/ft_math/tests_complex.c similarity index 100% rename from libft_personal/tests/ft_math/tests_complex.c rename to libft/tests/ft_math/tests_complex.c diff --git a/libft_personal/tests/ft_math/tests_intrange.c b/libft/tests/ft_math/tests_intrange.c similarity index 100% rename from libft_personal/tests/ft_math/tests_intrange.c rename to libft/tests/ft_math/tests_intrange.c diff --git a/libft_personal/tests/ft_math/tests_log.c b/libft/tests/ft_math/tests_log.c similarity index 100% rename from libft_personal/tests/ft_math/tests_log.c rename to libft/tests/ft_math/tests_log.c diff --git a/libft_personal/tests/ft_math/tests_minmax.c b/libft/tests/ft_math/tests_minmax.c similarity index 100% rename from libft_personal/tests/ft_math/tests_minmax.c rename to libft/tests/ft_math/tests_minmax.c diff --git a/libft_personal/tests/ft_math/tests_pow.c b/libft/tests/ft_math/tests_pow.c similarity index 100% rename from libft_personal/tests/ft_math/tests_pow.c rename to libft/tests/ft_math/tests_pow.c diff --git a/libft_personal/tests/ft_math/tests_round.c b/libft/tests/ft_math/tests_round.c similarity index 100% rename from libft_personal/tests/ft_math/tests_round.c rename to libft/tests/ft_math/tests_round.c diff --git a/libft_personal/tests/ft_math/tests_sqrt.c b/libft/tests/ft_math/tests_sqrt.c similarity index 100% rename from libft_personal/tests/ft_math/tests_sqrt.c rename to libft/tests/ft_math/tests_sqrt.c diff --git a/libft_personal/tests/ft_optional/optional_tests.c b/libft/tests/ft_optional/optional_tests.c similarity index 100% rename from libft_personal/tests/ft_optional/optional_tests.c rename to libft/tests/ft_optional/optional_tests.c diff --git a/libft_personal/tests/ft_optional/tests_optional_chain.c b/libft/tests/ft_optional/tests_optional_chain.c similarity index 100% rename from libft_personal/tests/ft_optional/tests_optional_chain.c rename to libft/tests/ft_optional/tests_optional_chain.c diff --git a/libft_personal/tests/ft_optional/tests_optional_copy.c b/libft/tests/ft_optional/tests_optional_copy.c similarity index 100% rename from libft_personal/tests/ft_optional/tests_optional_copy.c rename to libft/tests/ft_optional/tests_optional_copy.c diff --git a/libft_personal/tests/ft_optional/tests_optional_destroy.c b/libft/tests/ft_optional/tests_optional_destroy.c similarity index 100% rename from libft_personal/tests/ft_optional/tests_optional_destroy.c rename to libft/tests/ft_optional/tests_optional_destroy.c diff --git a/libft_personal/tests/ft_optional/tests_optional_dup.c b/libft/tests/ft_optional/tests_optional_dup.c similarity index 100% rename from libft_personal/tests/ft_optional/tests_optional_dup.c rename to libft/tests/ft_optional/tests_optional_dup.c diff --git a/libft_personal/tests/ft_optional/tests_optional_from_val.c b/libft/tests/ft_optional/tests_optional_from_val.c similarity index 100% rename from libft_personal/tests/ft_optional/tests_optional_from_val.c rename to libft/tests/ft_optional/tests_optional_from_val.c diff --git a/libft_personal/tests/ft_optional/tests_optional_map.c b/libft/tests/ft_optional/tests_optional_map.c similarity index 100% rename from libft_personal/tests/ft_optional/tests_optional_map.c rename to libft/tests/ft_optional/tests_optional_map.c diff --git a/libft_personal/tests/ft_optional/tests_optional_new.c b/libft/tests/ft_optional/tests_optional_new.c similarity index 100% rename from libft_personal/tests/ft_optional/tests_optional_new.c rename to libft/tests/ft_optional/tests_optional_new.c diff --git a/libft_personal/tests/ft_optional/tests_optional_unwrap.c b/libft/tests/ft_optional/tests_optional_unwrap.c similarity index 100% rename from libft_personal/tests/ft_optional/tests_optional_unwrap.c rename to libft/tests/ft_optional/tests_optional_unwrap.c diff --git a/libft_personal/tests/ft_pair/pair_tests.c b/libft/tests/ft_pair/pair_tests.c similarity index 100% rename from libft_personal/tests/ft_pair/pair_tests.c rename to libft/tests/ft_pair/pair_tests.c diff --git a/libft_personal/tests/ft_pair/tests_pair_cmp.c b/libft/tests/ft_pair/tests_pair_cmp.c similarity index 100% rename from libft_personal/tests/ft_pair/tests_pair_cmp.c rename to libft/tests/ft_pair/tests_pair_cmp.c diff --git a/libft_personal/tests/ft_pair/tests_pair_cmp_first.c b/libft/tests/ft_pair/tests_pair_cmp_first.c similarity index 100% rename from libft_personal/tests/ft_pair/tests_pair_cmp_first.c rename to libft/tests/ft_pair/tests_pair_cmp_first.c diff --git a/libft_personal/tests/ft_pair/tests_pair_cmp_second.c b/libft/tests/ft_pair/tests_pair_cmp_second.c similarity index 100% rename from libft_personal/tests/ft_pair/tests_pair_cmp_second.c rename to libft/tests/ft_pair/tests_pair_cmp_second.c diff --git a/libft_personal/tests/ft_pair/tests_pair_destroy.c b/libft/tests/ft_pair/tests_pair_destroy.c similarity index 100% rename from libft_personal/tests/ft_pair/tests_pair_destroy.c rename to libft/tests/ft_pair/tests_pair_destroy.c diff --git a/libft_personal/tests/ft_pair/tests_pair_get_first.c b/libft/tests/ft_pair/tests_pair_get_first.c similarity index 100% rename from libft_personal/tests/ft_pair/tests_pair_get_first.c rename to libft/tests/ft_pair/tests_pair_get_first.c diff --git a/libft_personal/tests/ft_pair/tests_pair_get_second.c b/libft/tests/ft_pair/tests_pair_get_second.c similarity index 100% rename from libft_personal/tests/ft_pair/tests_pair_get_second.c rename to libft/tests/ft_pair/tests_pair_get_second.c diff --git a/libft_personal/tests/ft_pair/tests_pair_new.c b/libft/tests/ft_pair/tests_pair_new.c similarity index 100% rename from libft_personal/tests/ft_pair/tests_pair_new.c rename to libft/tests/ft_pair/tests_pair_new.c diff --git a/libft_personal/tests/ft_pair/tests_pair_set.c b/libft/tests/ft_pair/tests_pair_set.c similarity index 100% rename from libft_personal/tests/ft_pair/tests_pair_set.c rename to libft/tests/ft_pair/tests_pair_set.c diff --git a/libft_personal/tests/ft_string/ft_char/ft_char_tests.c b/libft/tests/ft_string/ft_char/ft_char_tests.c similarity index 100% rename from libft_personal/tests/ft_string/ft_char/ft_char_tests.c rename to libft/tests/ft_string/ft_char/ft_char_tests.c diff --git a/libft_personal/tests/ft_string/ft_char/tests_isalnum.c b/libft/tests/ft_string/ft_char/tests_isalnum.c similarity index 100% rename from libft_personal/tests/ft_string/ft_char/tests_isalnum.c rename to libft/tests/ft_string/ft_char/tests_isalnum.c diff --git a/libft_personal/tests/ft_string/ft_char/tests_isalpha.c b/libft/tests/ft_string/ft_char/tests_isalpha.c similarity index 100% rename from libft_personal/tests/ft_string/ft_char/tests_isalpha.c rename to libft/tests/ft_string/ft_char/tests_isalpha.c diff --git a/libft_personal/tests/ft_string/ft_char/tests_isascii.c b/libft/tests/ft_string/ft_char/tests_isascii.c similarity index 100% rename from libft_personal/tests/ft_string/ft_char/tests_isascii.c rename to libft/tests/ft_string/ft_char/tests_isascii.c diff --git a/libft_personal/tests/ft_string/ft_char/tests_isdigit.c b/libft/tests/ft_string/ft_char/tests_isdigit.c similarity index 100% rename from libft_personal/tests/ft_string/ft_char/tests_isdigit.c rename to libft/tests/ft_string/ft_char/tests_isdigit.c diff --git a/libft_personal/tests/ft_string/ft_char/tests_ishexdigit.c b/libft/tests/ft_string/ft_char/tests_ishexdigit.c similarity index 100% rename from libft_personal/tests/ft_string/ft_char/tests_ishexdigit.c rename to libft/tests/ft_string/ft_char/tests_ishexdigit.c diff --git a/libft_personal/tests/ft_string/ft_char/tests_isoctdigit.c b/libft/tests/ft_string/ft_char/tests_isoctdigit.c similarity index 100% rename from libft_personal/tests/ft_string/ft_char/tests_isoctdigit.c rename to libft/tests/ft_string/ft_char/tests_isoctdigit.c diff --git a/libft_personal/tests/ft_string/ft_char/tests_isprint.c b/libft/tests/ft_string/ft_char/tests_isprint.c similarity index 100% rename from libft_personal/tests/ft_string/ft_char/tests_isprint.c rename to libft/tests/ft_string/ft_char/tests_isprint.c diff --git a/libft_personal/tests/ft_string/ft_char/tests_isspace.c b/libft/tests/ft_string/ft_char/tests_isspace.c similarity index 100% rename from libft_personal/tests/ft_string/ft_char/tests_isspace.c rename to libft/tests/ft_string/ft_char/tests_isspace.c diff --git a/libft_personal/tests/ft_string/ft_char/tests_puchar.c b/libft/tests/ft_string/ft_char/tests_puchar.c similarity index 100% rename from libft_personal/tests/ft_string/ft_char/tests_puchar.c rename to libft/tests/ft_string/ft_char/tests_puchar.c diff --git a/libft_personal/tests/ft_string/ft_char/tests_tolower.c b/libft/tests/ft_string/ft_char/tests_tolower.c similarity index 100% rename from libft_personal/tests/ft_string/ft_char/tests_tolower.c rename to libft/tests/ft_string/ft_char/tests_tolower.c diff --git a/libft_personal/tests/ft_string/ft_char/tests_toupper.c b/libft/tests/ft_string/ft_char/tests_toupper.c similarity index 100% rename from libft_personal/tests/ft_string/ft_char/tests_toupper.c rename to libft/tests/ft_string/ft_char/tests_toupper.c diff --git a/libft_personal/tests/ft_string/ft_mem/mem_tests.c b/libft/tests/ft_string/ft_mem/mem_tests.c similarity index 100% rename from libft_personal/tests/ft_string/ft_mem/mem_tests.c rename to libft/tests/ft_string/ft_mem/mem_tests.c diff --git a/libft_personal/tests/ft_string/ft_mem/tests_apply_2d.c b/libft/tests/ft_string/ft_mem/tests_apply_2d.c similarity index 100% rename from libft_personal/tests/ft_string/ft_mem/tests_apply_2d.c rename to libft/tests/ft_string/ft_mem/tests_apply_2d.c diff --git a/libft_personal/tests/ft_string/ft_mem/tests_bzero.c b/libft/tests/ft_string/ft_mem/tests_bzero.c similarity index 100% rename from libft_personal/tests/ft_string/ft_mem/tests_bzero.c rename to libft/tests/ft_string/ft_mem/tests_bzero.c diff --git a/libft_personal/tests/ft_string/ft_mem/tests_calloc.c b/libft/tests/ft_string/ft_mem/tests_calloc.c similarity index 100% rename from libft_personal/tests/ft_string/ft_mem/tests_calloc.c rename to libft/tests/ft_string/ft_mem/tests_calloc.c diff --git a/libft_personal/tests/ft_string/ft_mem/tests_fd_to_buff.c b/libft/tests/ft_string/ft_mem/tests_fd_to_buff.c similarity index 100% rename from libft_personal/tests/ft_string/ft_mem/tests_fd_to_buff.c rename to libft/tests/ft_string/ft_mem/tests_fd_to_buff.c diff --git a/libft_personal/tests/ft_string/ft_mem/tests_free.c b/libft/tests/ft_string/ft_mem/tests_free.c similarity index 100% rename from libft_personal/tests/ft_string/ft_mem/tests_free.c rename to libft/tests/ft_string/ft_mem/tests_free.c diff --git a/libft_personal/tests/ft_string/ft_mem/tests_free_2d.c b/libft/tests/ft_string/ft_mem/tests_free_2d.c similarity index 100% rename from libft_personal/tests/ft_string/ft_mem/tests_free_2d.c rename to libft/tests/ft_string/ft_mem/tests_free_2d.c diff --git a/libft_personal/tests/ft_string/ft_mem/tests_len_2d.c b/libft/tests/ft_string/ft_mem/tests_len_2d.c similarity index 100% rename from libft_personal/tests/ft_string/ft_mem/tests_len_2d.c rename to libft/tests/ft_string/ft_mem/tests_len_2d.c diff --git a/libft_personal/tests/ft_string/ft_mem/tests_memchr.c b/libft/tests/ft_string/ft_mem/tests_memchr.c similarity index 100% rename from libft_personal/tests/ft_string/ft_mem/tests_memchr.c rename to libft/tests/ft_string/ft_mem/tests_memchr.c diff --git a/libft_personal/tests/ft_string/ft_mem/tests_memcmp.c b/libft/tests/ft_string/ft_mem/tests_memcmp.c similarity index 100% rename from libft_personal/tests/ft_string/ft_mem/tests_memcmp.c rename to libft/tests/ft_string/ft_mem/tests_memcmp.c diff --git a/libft_personal/tests/ft_string/ft_mem/tests_memcpy.c b/libft/tests/ft_string/ft_mem/tests_memcpy.c similarity index 100% rename from libft_personal/tests/ft_string/ft_mem/tests_memcpy.c rename to libft/tests/ft_string/ft_mem/tests_memcpy.c diff --git a/libft_personal/tests/ft_string/ft_mem/tests_memmap.c b/libft/tests/ft_string/ft_mem/tests_memmap.c similarity index 100% rename from libft_personal/tests/ft_string/ft_mem/tests_memmap.c rename to libft/tests/ft_string/ft_mem/tests_memmap.c diff --git a/libft_personal/tests/ft_string/ft_mem/tests_memmove.c b/libft/tests/ft_string/ft_mem/tests_memmove.c similarity index 100% rename from libft_personal/tests/ft_string/ft_mem/tests_memmove.c rename to libft/tests/ft_string/ft_mem/tests_memmove.c diff --git a/libft_personal/tests/ft_string/ft_mem/tests_memset.c b/libft/tests/ft_string/ft_mem/tests_memset.c similarity index 100% rename from libft_personal/tests/ft_string/ft_mem/tests_memset.c rename to libft/tests/ft_string/ft_mem/tests_memset.c diff --git a/libft_personal/tests/ft_string/ft_mem/tests_qsort.c b/libft/tests/ft_string/ft_mem/tests_qsort.c similarity index 100% rename from libft_personal/tests/ft_string/ft_mem/tests_qsort.c rename to libft/tests/ft_string/ft_mem/tests_qsort.c diff --git a/libft_personal/tests/ft_string/ft_mem/tests_realloc.c b/libft/tests/ft_string/ft_mem/tests_realloc.c similarity index 100% rename from libft_personal/tests/ft_string/ft_mem/tests_realloc.c rename to libft/tests/ft_string/ft_mem/tests_realloc.c diff --git a/libft_personal/tests/ft_string/ft_mem/tests_swap.c b/libft/tests/ft_string/ft_mem/tests_swap.c similarity index 100% rename from libft_personal/tests/ft_string/ft_mem/tests_swap.c rename to libft/tests/ft_string/ft_mem/tests_swap.c diff --git a/libft_personal/tests/ft_string/ft_str/str_tests.c b/libft/tests/ft_string/ft_str/str_tests.c similarity index 100% rename from libft_personal/tests/ft_string/ft_str/str_tests.c rename to libft/tests/ft_string/ft_str/str_tests.c diff --git a/libft_personal/tests/ft_string/ft_str/test_atof.c b/libft/tests/ft_string/ft_str/test_atof.c similarity index 100% rename from libft_personal/tests/ft_string/ft_str/test_atof.c rename to libft/tests/ft_string/ft_str/test_atof.c diff --git a/libft_personal/tests/ft_string/ft_str/test_atoi.c b/libft/tests/ft_string/ft_str/test_atoi.c similarity index 100% rename from libft_personal/tests/ft_string/ft_str/test_atoi.c rename to libft/tests/ft_string/ft_str/test_atoi.c diff --git a/libft_personal/tests/ft_string/ft_str/test_atoi_base.c b/libft/tests/ft_string/ft_str/test_atoi_base.c similarity index 100% rename from libft_personal/tests/ft_string/ft_str/test_atoi_base.c rename to libft/tests/ft_string/ft_str/test_atoi_base.c diff --git a/libft_personal/tests/ft_string/ft_str/test_gnl.c b/libft/tests/ft_string/ft_str/test_gnl.c similarity index 100% rename from libft_personal/tests/ft_string/ft_str/test_gnl.c rename to libft/tests/ft_string/ft_str/test_gnl.c diff --git a/libft_personal/tests/ft_string/ft_str/test_itoa.c b/libft/tests/ft_string/ft_str/test_itoa.c similarity index 100% rename from libft_personal/tests/ft_string/ft_str/test_itoa.c rename to libft/tests/ft_string/ft_str/test_itoa.c diff --git a/libft_personal/tests/ft_string/ft_str/test_itoa_base.c b/libft/tests/ft_string/ft_str/test_itoa_base.c similarity index 100% rename from libft_personal/tests/ft_string/ft_str/test_itoa_base.c rename to libft/tests/ft_string/ft_str/test_itoa_base.c diff --git a/libft_personal/tests/ft_string/ft_str/test_putendl.c b/libft/tests/ft_string/ft_str/test_putendl.c similarity index 100% rename from libft_personal/tests/ft_string/ft_str/test_putendl.c rename to libft/tests/ft_string/ft_str/test_putendl.c diff --git a/libft_personal/tests/ft_string/ft_str/test_putnbr.c b/libft/tests/ft_string/ft_str/test_putnbr.c similarity index 100% rename from libft_personal/tests/ft_string/ft_str/test_putnbr.c rename to libft/tests/ft_string/ft_str/test_putnbr.c diff --git a/libft_personal/tests/ft_string/ft_str/test_putstr.c b/libft/tests/ft_string/ft_str/test_putstr.c similarity index 100% rename from libft_personal/tests/ft_string/ft_str/test_putstr.c rename to libft/tests/ft_string/ft_str/test_putstr.c diff --git a/libft_personal/tests/ft_string/ft_str/test_shift_args.c b/libft/tests/ft_string/ft_str/test_shift_args.c similarity index 100% rename from libft_personal/tests/ft_string/ft_str/test_shift_args.c rename to libft/tests/ft_string/ft_str/test_shift_args.c diff --git a/libft_personal/tests/ft_string/ft_str/test_split.c b/libft/tests/ft_string/ft_str/test_split.c similarity index 100% rename from libft_personal/tests/ft_string/ft_str/test_split.c rename to libft/tests/ft_string/ft_str/test_split.c diff --git a/libft_personal/tests/ft_string/ft_str/test_splits.c b/libft/tests/ft_string/ft_str/test_splits.c similarity index 100% rename from libft_personal/tests/ft_string/ft_str/test_splits.c rename to libft/tests/ft_string/ft_str/test_splits.c diff --git a/libft_personal/tests/ft_string/ft_str/test_str_isalnum.c b/libft/tests/ft_string/ft_str/test_str_isalnum.c similarity index 100% rename from libft_personal/tests/ft_string/ft_str/test_str_isalnum.c rename to libft/tests/ft_string/ft_str/test_str_isalnum.c diff --git a/libft_personal/tests/ft_string/ft_str/test_str_isalpha.c b/libft/tests/ft_string/ft_str/test_str_isalpha.c similarity index 100% rename from libft_personal/tests/ft_string/ft_str/test_str_isalpha.c rename to libft/tests/ft_string/ft_str/test_str_isalpha.c diff --git a/libft_personal/tests/ft_string/ft_str/test_str_isbool.c b/libft/tests/ft_string/ft_str/test_str_isbool.c similarity index 100% rename from libft_personal/tests/ft_string/ft_str/test_str_isbool.c rename to libft/tests/ft_string/ft_str/test_str_isbool.c diff --git a/libft_personal/tests/ft_string/ft_str/test_str_isdigit.c b/libft/tests/ft_string/ft_str/test_str_isdigit.c similarity index 100% rename from libft_personal/tests/ft_string/ft_str/test_str_isdigit.c rename to libft/tests/ft_string/ft_str/test_str_isdigit.c diff --git a/libft_personal/tests/ft_string/ft_str/test_str_isdouble.c b/libft/tests/ft_string/ft_str/test_str_isdouble.c similarity index 100% rename from libft_personal/tests/ft_string/ft_str/test_str_isdouble.c rename to libft/tests/ft_string/ft_str/test_str_isdouble.c diff --git a/libft_personal/tests/ft_string/ft_str/test_str_isfloat.c b/libft/tests/ft_string/ft_str/test_str_isfloat.c similarity index 100% rename from libft_personal/tests/ft_string/ft_str/test_str_isfloat.c rename to libft/tests/ft_string/ft_str/test_str_isfloat.c diff --git a/libft_personal/tests/ft_string/ft_str/test_str_ishex.c b/libft/tests/ft_string/ft_str/test_str_ishex.c similarity index 100% rename from libft_personal/tests/ft_string/ft_str/test_str_ishex.c rename to libft/tests/ft_string/ft_str/test_str_ishex.c diff --git a/libft_personal/tests/ft_string/ft_str/test_str_isint.c b/libft/tests/ft_string/ft_str/test_str_isint.c similarity index 100% rename from libft_personal/tests/ft_string/ft_str/test_str_isint.c rename to libft/tests/ft_string/ft_str/test_str_isint.c diff --git a/libft_personal/tests/ft_string/ft_str/test_str_islong.c b/libft/tests/ft_string/ft_str/test_str_islong.c similarity index 100% rename from libft_personal/tests/ft_string/ft_str/test_str_islong.c rename to libft/tests/ft_string/ft_str/test_str_islong.c diff --git a/libft_personal/tests/ft_string/ft_str/test_str_isnum.c b/libft/tests/ft_string/ft_str/test_str_isnum.c similarity index 100% rename from libft_personal/tests/ft_string/ft_str/test_str_isnum.c rename to libft/tests/ft_string/ft_str/test_str_isnum.c diff --git a/libft_personal/tests/ft_string/ft_str/test_str_isoct.c b/libft/tests/ft_string/ft_str/test_str_isoct.c similarity index 100% rename from libft_personal/tests/ft_string/ft_str/test_str_isoct.c rename to libft/tests/ft_string/ft_str/test_str_isoct.c diff --git a/libft_personal/tests/ft_string/ft_str/test_str_isvalid.c b/libft/tests/ft_string/ft_str/test_str_isvalid.c similarity index 100% rename from libft_personal/tests/ft_string/ft_str/test_str_isvalid.c rename to libft/tests/ft_string/ft_str/test_str_isvalid.c diff --git a/libft_personal/tests/ft_string/ft_str/test_str_replace.c b/libft/tests/ft_string/ft_str/test_str_replace.c similarity index 100% rename from libft_personal/tests/ft_string/ft_str/test_str_replace.c rename to libft/tests/ft_string/ft_str/test_str_replace.c diff --git a/libft_personal/tests/ft_string/ft_str/test_str_replace_chr.c b/libft/tests/ft_string/ft_str/test_str_replace_chr.c similarity index 100% rename from libft_personal/tests/ft_string/ft_str/test_str_replace_chr.c rename to libft/tests/ft_string/ft_str/test_str_replace_chr.c diff --git a/libft_personal/tests/ft_string/ft_str/test_strappend_c.c b/libft/tests/ft_string/ft_str/test_strappend_c.c similarity index 100% rename from libft_personal/tests/ft_string/ft_str/test_strappend_c.c rename to libft/tests/ft_string/ft_str/test_strappend_c.c diff --git a/libft_personal/tests/ft_string/ft_str/test_strchr.c b/libft/tests/ft_string/ft_str/test_strchr.c similarity index 100% rename from libft_personal/tests/ft_string/ft_str/test_strchr.c rename to libft/tests/ft_string/ft_str/test_strchr.c diff --git a/libft_personal/tests/ft_string/ft_str/test_strclen.c b/libft/tests/ft_string/ft_str/test_strclen.c similarity index 100% rename from libft_personal/tests/ft_string/ft_str/test_strclen.c rename to libft/tests/ft_string/ft_str/test_strclen.c diff --git a/libft_personal/tests/ft_string/ft_str/test_strcmp.c b/libft/tests/ft_string/ft_str/test_strcmp.c similarity index 100% rename from libft_personal/tests/ft_string/ft_str/test_strcmp.c rename to libft/tests/ft_string/ft_str/test_strcmp.c diff --git a/libft_personal/tests/ft_string/ft_str/test_strcnb.c b/libft/tests/ft_string/ft_str/test_strcnb.c similarity index 100% rename from libft_personal/tests/ft_string/ft_str/test_strcnb.c rename to libft/tests/ft_string/ft_str/test_strcnb.c diff --git a/libft_personal/tests/ft_string/ft_str/test_strcspn.c b/libft/tests/ft_string/ft_str/test_strcspn.c similarity index 100% rename from libft_personal/tests/ft_string/ft_str/test_strcspn.c rename to libft/tests/ft_string/ft_str/test_strcspn.c diff --git a/libft_personal/tests/ft_string/ft_str/test_strdup.c b/libft/tests/ft_string/ft_str/test_strdup.c similarity index 100% rename from libft_personal/tests/ft_string/ft_str/test_strdup.c rename to libft/tests/ft_string/ft_str/test_strdup.c diff --git a/libft_personal/tests/ft_string/ft_str/test_strend_with.c b/libft/tests/ft_string/ft_str/test_strend_with.c similarity index 100% rename from libft_personal/tests/ft_string/ft_str/test_strend_with.c rename to libft/tests/ft_string/ft_str/test_strend_with.c diff --git a/libft_personal/tests/ft_string/ft_str/test_striteri.c b/libft/tests/ft_string/ft_str/test_striteri.c similarity index 100% rename from libft_personal/tests/ft_string/ft_str/test_striteri.c rename to libft/tests/ft_string/ft_str/test_striteri.c diff --git a/libft_personal/tests/ft_string/ft_str/test_strjoin.c b/libft/tests/ft_string/ft_str/test_strjoin.c similarity index 100% rename from libft_personal/tests/ft_string/ft_str/test_strjoin.c rename to libft/tests/ft_string/ft_str/test_strjoin.c diff --git a/libft_personal/tests/ft_string/ft_str/test_strlcat.c b/libft/tests/ft_string/ft_str/test_strlcat.c similarity index 100% rename from libft_personal/tests/ft_string/ft_str/test_strlcat.c rename to libft/tests/ft_string/ft_str/test_strlcat.c diff --git a/libft_personal/tests/ft_string/ft_str/test_strlcpy.c b/libft/tests/ft_string/ft_str/test_strlcpy.c similarity index 100% rename from libft_personal/tests/ft_string/ft_str/test_strlcpy.c rename to libft/tests/ft_string/ft_str/test_strlcpy.c diff --git a/libft_personal/tests/ft_string/ft_str/test_strlen.c b/libft/tests/ft_string/ft_str/test_strlen.c similarity index 100% rename from libft_personal/tests/ft_string/ft_str/test_strlen.c rename to libft/tests/ft_string/ft_str/test_strlen.c diff --git a/libft_personal/tests/ft_string/ft_str/test_strmapi.c b/libft/tests/ft_string/ft_str/test_strmapi.c similarity index 100% rename from libft_personal/tests/ft_string/ft_str/test_strmapi.c rename to libft/tests/ft_string/ft_str/test_strmapi.c diff --git a/libft_personal/tests/ft_string/ft_str/test_strncmp.c b/libft/tests/ft_string/ft_str/test_strncmp.c similarity index 100% rename from libft_personal/tests/ft_string/ft_str/test_strncmp.c rename to libft/tests/ft_string/ft_str/test_strncmp.c diff --git a/libft_personal/tests/ft_string/ft_str/test_strndup.c b/libft/tests/ft_string/ft_str/test_strndup.c similarity index 100% rename from libft_personal/tests/ft_string/ft_str/test_strndup.c rename to libft/tests/ft_string/ft_str/test_strndup.c diff --git a/libft_personal/tests/ft_string/ft_str/test_strnstr.c b/libft/tests/ft_string/ft_str/test_strnstr.c similarity index 100% rename from libft_personal/tests/ft_string/ft_str/test_strnstr.c rename to libft/tests/ft_string/ft_str/test_strnstr.c diff --git a/libft_personal/tests/ft_string/ft_str/test_strrchr.c b/libft/tests/ft_string/ft_str/test_strrchr.c similarity index 100% rename from libft_personal/tests/ft_string/ft_str/test_strrchr.c rename to libft/tests/ft_string/ft_str/test_strrchr.c diff --git a/libft_personal/tests/ft_string/ft_str/test_strspn.c b/libft/tests/ft_string/ft_str/test_strspn.c similarity index 100% rename from libft_personal/tests/ft_string/ft_str/test_strspn.c rename to libft/tests/ft_string/ft_str/test_strspn.c diff --git a/libft_personal/tests/ft_string/ft_str/test_strstart_with.c b/libft/tests/ft_string/ft_str/test_strstart_with.c similarity index 100% rename from libft_personal/tests/ft_string/ft_str/test_strstart_with.c rename to libft/tests/ft_string/ft_str/test_strstart_with.c diff --git a/libft_personal/tests/ft_string/ft_str/test_strtok.c b/libft/tests/ft_string/ft_str/test_strtok.c similarity index 100% rename from libft_personal/tests/ft_string/ft_str/test_strtok.c rename to libft/tests/ft_string/ft_str/test_strtok.c diff --git a/libft_personal/tests/ft_string/ft_str/test_strtrim.c b/libft/tests/ft_string/ft_str/test_strtrim.c similarity index 100% rename from libft_personal/tests/ft_string/ft_str/test_strtrim.c rename to libft/tests/ft_string/ft_str/test_strtrim.c diff --git a/libft_personal/tests/ft_string/ft_str/test_substr.c b/libft/tests/ft_string/ft_str/test_substr.c similarity index 100% rename from libft_personal/tests/ft_string/ft_str/test_substr.c rename to libft/tests/ft_string/ft_str/test_substr.c diff --git a/libft_personal/tests/ft_string/ft_str/test_utoa.c b/libft/tests/ft_string/ft_str/test_utoa.c similarity index 100% rename from libft_personal/tests/ft_string/ft_str/test_utoa.c rename to libft/tests/ft_string/ft_str/test_utoa.c diff --git a/libft_personal/tests/ft_string/ft_string/t_string_tests.c b/libft/tests/ft_string/ft_string/t_string_tests.c similarity index 100% rename from libft_personal/tests/ft_string/ft_string/t_string_tests.c rename to libft/tests/ft_string/ft_string/t_string_tests.c diff --git a/libft_personal/tests/ft_string/ft_string/test_append.c b/libft/tests/ft_string/ft_string/test_append.c similarity index 100% rename from libft_personal/tests/ft_string/ft_string/test_append.c rename to libft/tests/ft_string/ft_string/test_append.c diff --git a/libft_personal/tests/ft_string/ft_string/test_append_c.c b/libft/tests/ft_string/ft_string/test_append_c.c similarity index 100% rename from libft_personal/tests/ft_string/ft_string/test_append_c.c rename to libft/tests/ft_string/ft_string/test_append_c.c diff --git a/libft_personal/tests/ft_string/ft_string/test_append_n.c b/libft/tests/ft_string/ft_string/test_append_n.c similarity index 100% rename from libft_personal/tests/ft_string/ft_string/test_append_n.c rename to libft/tests/ft_string/ft_string/test_append_n.c diff --git a/libft_personal/tests/ft_string/ft_string/test_append_s.c b/libft/tests/ft_string/ft_string/test_append_s.c similarity index 100% rename from libft_personal/tests/ft_string/ft_string/test_append_s.c rename to libft/tests/ft_string/ft_string/test_append_s.c diff --git a/libft_personal/tests/ft_string/ft_string/test_append_sn.c b/libft/tests/ft_string/ft_string/test_append_sn.c similarity index 100% rename from libft_personal/tests/ft_string/ft_string/test_append_sn.c rename to libft/tests/ft_string/ft_string/test_append_sn.c diff --git a/libft_personal/tests/ft_string/ft_string/test_cap.c b/libft/tests/ft_string/ft_string/test_cap.c similarity index 100% rename from libft_personal/tests/ft_string/ft_string/test_cap.c rename to libft/tests/ft_string/ft_string/test_cap.c diff --git a/libft_personal/tests/ft_string/ft_string/test_chr.c b/libft/tests/ft_string/ft_string/test_chr.c similarity index 100% rename from libft_personal/tests/ft_string/ft_string/test_chr.c rename to libft/tests/ft_string/ft_string/test_chr.c diff --git a/libft_personal/tests/ft_string/ft_string/test_clear.c b/libft/tests/ft_string/ft_string/test_clear.c similarity index 100% rename from libft_personal/tests/ft_string/ft_string/test_clear.c rename to libft/tests/ft_string/ft_string/test_clear.c diff --git a/libft_personal/tests/ft_string/ft_string/test_cmp.c b/libft/tests/ft_string/ft_string/test_cmp.c similarity index 100% rename from libft_personal/tests/ft_string/ft_string/test_cmp.c rename to libft/tests/ft_string/ft_string/test_cmp.c diff --git a/libft_personal/tests/ft_string/ft_string/test_cmp_str.c b/libft/tests/ft_string/ft_string/test_cmp_str.c similarity index 100% rename from libft_personal/tests/ft_string/ft_string/test_cmp_str.c rename to libft/tests/ft_string/ft_string/test_cmp_str.c diff --git a/libft_personal/tests/ft_string/ft_string/test_destroy.c b/libft/tests/ft_string/ft_string/test_destroy.c similarity index 100% rename from libft_personal/tests/ft_string/ft_string/test_destroy.c rename to libft/tests/ft_string/ft_string/test_destroy.c diff --git a/libft_personal/tests/ft_string/ft_string/test_from.c b/libft/tests/ft_string/ft_string/test_from.c similarity index 100% rename from libft_personal/tests/ft_string/ft_string/test_from.c rename to libft/tests/ft_string/ft_string/test_from.c diff --git a/libft_personal/tests/ft_string/ft_string/test_from_c.c b/libft/tests/ft_string/ft_string/test_from_c.c similarity index 100% rename from libft_personal/tests/ft_string/ft_string/test_from_c.c rename to libft/tests/ft_string/ft_string/test_from_c.c diff --git a/libft_personal/tests/ft_string/ft_string/test_from_n.c b/libft/tests/ft_string/ft_string/test_from_n.c similarity index 100% rename from libft_personal/tests/ft_string/ft_string/test_from_n.c rename to libft/tests/ft_string/ft_string/test_from_n.c diff --git a/libft_personal/tests/ft_string/ft_string/test_from_s.c b/libft/tests/ft_string/ft_string/test_from_s.c similarity index 100% rename from libft_personal/tests/ft_string/ft_string/test_from_s.c rename to libft/tests/ft_string/ft_string/test_from_s.c diff --git a/libft_personal/tests/ft_string/ft_string/test_from_sn.c b/libft/tests/ft_string/ft_string/test_from_sn.c similarity index 100% rename from libft_personal/tests/ft_string/ft_string/test_from_sn.c rename to libft/tests/ft_string/ft_string/test_from_sn.c diff --git a/libft_personal/tests/ft_string/ft_string/test_get.c b/libft/tests/ft_string/ft_string/test_get.c similarity index 100% rename from libft_personal/tests/ft_string/ft_string/test_get.c rename to libft/tests/ft_string/ft_string/test_get.c diff --git a/libft_personal/tests/ft_string/ft_string/test_insert.c b/libft/tests/ft_string/ft_string/test_insert.c similarity index 100% rename from libft_personal/tests/ft_string/ft_string/test_insert.c rename to libft/tests/ft_string/ft_string/test_insert.c diff --git a/libft_personal/tests/ft_string/ft_string/test_insert_c.c b/libft/tests/ft_string/ft_string/test_insert_c.c similarity index 100% rename from libft_personal/tests/ft_string/ft_string/test_insert_c.c rename to libft/tests/ft_string/ft_string/test_insert_c.c diff --git a/libft_personal/tests/ft_string/ft_string/test_insert_n.c b/libft/tests/ft_string/ft_string/test_insert_n.c similarity index 100% rename from libft_personal/tests/ft_string/ft_string/test_insert_n.c rename to libft/tests/ft_string/ft_string/test_insert_n.c diff --git a/libft_personal/tests/ft_string/ft_string/test_insert_s.c b/libft/tests/ft_string/ft_string/test_insert_s.c similarity index 100% rename from libft_personal/tests/ft_string/ft_string/test_insert_s.c rename to libft/tests/ft_string/ft_string/test_insert_s.c diff --git a/libft_personal/tests/ft_string/ft_string/test_insert_sn.c b/libft/tests/ft_string/ft_string/test_insert_sn.c similarity index 100% rename from libft_personal/tests/ft_string/ft_string/test_insert_sn.c rename to libft/tests/ft_string/ft_string/test_insert_sn.c diff --git a/libft_personal/tests/ft_string/ft_string/test_len.c b/libft/tests/ft_string/ft_string/test_len.c similarity index 100% rename from libft_personal/tests/ft_string/ft_string/test_len.c rename to libft/tests/ft_string/ft_string/test_len.c diff --git a/libft_personal/tests/ft_string/ft_string/test_ncmp.c b/libft/tests/ft_string/ft_string/test_ncmp.c similarity index 100% rename from libft_personal/tests/ft_string/ft_string/test_ncmp.c rename to libft/tests/ft_string/ft_string/test_ncmp.c diff --git a/libft_personal/tests/ft_string/ft_string/test_ncmp_str.c b/libft/tests/ft_string/ft_string/test_ncmp_str.c similarity index 100% rename from libft_personal/tests/ft_string/ft_string/test_ncmp_str.c rename to libft/tests/ft_string/ft_string/test_ncmp_str.c diff --git a/libft_personal/tests/ft_string/ft_string/test_new.c b/libft/tests/ft_string/ft_string/test_new.c similarity index 100% rename from libft_personal/tests/ft_string/ft_string/test_new.c rename to libft/tests/ft_string/ft_string/test_new.c diff --git a/libft_personal/tests/ft_string/ft_string/test_offset.c b/libft/tests/ft_string/ft_string/test_offset.c similarity index 100% rename from libft_personal/tests/ft_string/ft_string/test_offset.c rename to libft/tests/ft_string/ft_string/test_offset.c diff --git a/libft_personal/tests/ft_string/ft_string/test_put.c b/libft/tests/ft_string/ft_string/test_put.c similarity index 100% rename from libft_personal/tests/ft_string/ft_string/test_put.c rename to libft/tests/ft_string/ft_string/test_put.c diff --git a/libft_personal/tests/ft_string/ft_string/test_rchr.c b/libft/tests/ft_string/ft_string/test_rchr.c similarity index 100% rename from libft_personal/tests/ft_string/ft_string/test_rchr.c rename to libft/tests/ft_string/ft_string/test_rchr.c diff --git a/libft_personal/tests/ft_string/ft_string/test_replace.c b/libft/tests/ft_string/ft_string/test_replace.c similarity index 100% rename from libft_personal/tests/ft_string/ft_string/test_replace.c rename to libft/tests/ft_string/ft_string/test_replace.c diff --git a/libft_personal/tests/ft_string/ft_string/test_replace_chr.c b/libft/tests/ft_string/ft_string/test_replace_chr.c similarity index 100% rename from libft_personal/tests/ft_string/ft_string/test_replace_chr.c rename to libft/tests/ft_string/ft_string/test_replace_chr.c diff --git a/libft_personal/tests/ft_string/ft_string/test_reserve.c b/libft/tests/ft_string/ft_string/test_reserve.c similarity index 100% rename from libft_personal/tests/ft_string/ft_string/test_reserve.c rename to libft/tests/ft_string/ft_string/test_reserve.c diff --git a/libft_personal/tests/ft_string/ft_string/test_resize.c b/libft/tests/ft_string/ft_string/test_resize.c similarity index 100% rename from libft_personal/tests/ft_string/ft_string/test_resize.c rename to libft/tests/ft_string/ft_string/test_resize.c diff --git a/libft_personal/tests/ft_string/ft_string/test_roffset.c b/libft/tests/ft_string/ft_string/test_roffset.c similarity index 100% rename from libft_personal/tests/ft_string/ft_string/test_roffset.c rename to libft/tests/ft_string/ft_string/test_roffset.c diff --git a/libft_personal/tests/ft_string/ft_string/test_set.c b/libft/tests/ft_string/ft_string/test_set.c similarity index 100% rename from libft_personal/tests/ft_string/ft_string/test_set.c rename to libft/tests/ft_string/ft_string/test_set.c diff --git a/libft_personal/tests/ft_string/ft_string/test_set_inplace.c b/libft/tests/ft_string/ft_string/test_set_inplace.c similarity index 100% rename from libft_personal/tests/ft_string/ft_string/test_set_inplace.c rename to libft/tests/ft_string/ft_string/test_set_inplace.c diff --git a/libft_personal/tests/ft_string/ft_string/test_set_n.c b/libft/tests/ft_string/ft_string/test_set_n.c similarity index 100% rename from libft_personal/tests/ft_string/ft_string/test_set_n.c rename to libft/tests/ft_string/ft_string/test_set_n.c diff --git a/libft_personal/tests/ft_string/ft_string/test_shrink.c b/libft/tests/ft_string/ft_string/test_shrink.c similarity index 100% rename from libft_personal/tests/ft_string/ft_string/test_shrink.c rename to libft/tests/ft_string/ft_string/test_shrink.c diff --git a/libft_personal/tests/ft_string/ft_string/test_substr.c b/libft/tests/ft_string/ft_string/test_substr.c similarity index 100% rename from libft_personal/tests/ft_string/ft_string/test_substr.c rename to libft/tests/ft_string/ft_string/test_substr.c diff --git a/libft_personal/tests/ft_string/ft_string/test_to_str.c b/libft/tests/ft_string/ft_string/test_to_str.c similarity index 100% rename from libft_personal/tests/ft_string/ft_string/test_to_str.c rename to libft/tests/ft_string/ft_string/test_to_str.c diff --git a/libft_personal/tests/ft_string/ft_string/test_trim.c b/libft/tests/ft_string/ft_string/test_trim.c similarity index 100% rename from libft_personal/tests/ft_string/ft_string/test_trim.c rename to libft/tests/ft_string/ft_string/test_trim.c diff --git a/libft_personal/tests/ft_string/ft_string/test_trim_chr.c b/libft/tests/ft_string/ft_string/test_trim_chr.c similarity index 100% rename from libft_personal/tests/ft_string/ft_string/test_trim_chr.c rename to libft/tests/ft_string/ft_string/test_trim_chr.c diff --git a/libft_personal/tests/ft_string/ft_string/test_trimstr.c b/libft/tests/ft_string/ft_string/test_trimstr.c similarity index 100% rename from libft_personal/tests/ft_string/ft_string/test_trimstr.c rename to libft/tests/ft_string/ft_string/test_trimstr.c diff --git a/libft_personal/tests/ft_string/string_tests.c b/libft/tests/ft_string/string_tests.c similarity index 100% rename from libft_personal/tests/ft_string/string_tests.c rename to libft/tests/ft_string/string_tests.c diff --git a/libft_personal/tests/ft_vector/tests_vec_add.c b/libft/tests/ft_vector/tests_vec_add.c similarity index 100% rename from libft_personal/tests/ft_vector/tests_vec_add.c rename to libft/tests/ft_vector/tests_vec_add.c diff --git a/libft_personal/tests/ft_vector/tests_vec_apply.c b/libft/tests/ft_vector/tests_vec_apply.c similarity index 100% rename from libft_personal/tests/ft_vector/tests_vec_apply.c rename to libft/tests/ft_vector/tests_vec_apply.c diff --git a/libft_personal/tests/ft_vector/tests_vec_at.c b/libft/tests/ft_vector/tests_vec_at.c similarity index 100% rename from libft_personal/tests/ft_vector/tests_vec_at.c rename to libft/tests/ft_vector/tests_vec_at.c diff --git a/libft_personal/tests/ft_vector/tests_vec_cat.c b/libft/tests/ft_vector/tests_vec_cat.c similarity index 100% rename from libft_personal/tests/ft_vector/tests_vec_cat.c rename to libft/tests/ft_vector/tests_vec_cat.c diff --git a/libft_personal/tests/ft_vector/tests_vec_clear.c b/libft/tests/ft_vector/tests_vec_clear.c similarity index 100% rename from libft_personal/tests/ft_vector/tests_vec_clear.c rename to libft/tests/ft_vector/tests_vec_clear.c diff --git a/libft_personal/tests/ft_vector/tests_vec_convert_alloc_array.c b/libft/tests/ft_vector/tests_vec_convert_alloc_array.c similarity index 100% rename from libft_personal/tests/ft_vector/tests_vec_convert_alloc_array.c rename to libft/tests/ft_vector/tests_vec_convert_alloc_array.c diff --git a/libft_personal/tests/ft_vector/tests_vec_destroy.c b/libft/tests/ft_vector/tests_vec_destroy.c similarity index 100% rename from libft_personal/tests/ft_vector/tests_vec_destroy.c rename to libft/tests/ft_vector/tests_vec_destroy.c diff --git a/libft_personal/tests/ft_vector/tests_vec_filter.c b/libft/tests/ft_vector/tests_vec_filter.c similarity index 100% rename from libft_personal/tests/ft_vector/tests_vec_filter.c rename to libft/tests/ft_vector/tests_vec_filter.c diff --git a/libft_personal/tests/ft_vector/tests_vec_from_array.c b/libft/tests/ft_vector/tests_vec_from_array.c similarity index 100% rename from libft_personal/tests/ft_vector/tests_vec_from_array.c rename to libft/tests/ft_vector/tests_vec_from_array.c diff --git a/libft_personal/tests/ft_vector/tests_vec_from_size.c b/libft/tests/ft_vector/tests_vec_from_size.c similarity index 100% rename from libft_personal/tests/ft_vector/tests_vec_from_size.c rename to libft/tests/ft_vector/tests_vec_from_size.c diff --git a/libft_personal/tests/ft_vector/tests_vec_get.c b/libft/tests/ft_vector/tests_vec_get.c similarity index 100% rename from libft_personal/tests/ft_vector/tests_vec_get.c rename to libft/tests/ft_vector/tests_vec_get.c diff --git a/libft_personal/tests/ft_vector/tests_vec_map.c b/libft/tests/ft_vector/tests_vec_map.c similarity index 100% rename from libft_personal/tests/ft_vector/tests_vec_map.c rename to libft/tests/ft_vector/tests_vec_map.c diff --git a/libft_personal/tests/ft_vector/tests_vec_new.c b/libft/tests/ft_vector/tests_vec_new.c similarity index 100% rename from libft_personal/tests/ft_vector/tests_vec_new.c rename to libft/tests/ft_vector/tests_vec_new.c diff --git a/libft_personal/tests/ft_vector/tests_vec_pop.c b/libft/tests/ft_vector/tests_vec_pop.c similarity index 100% rename from libft_personal/tests/ft_vector/tests_vec_pop.c rename to libft/tests/ft_vector/tests_vec_pop.c diff --git a/libft_personal/tests/ft_vector/tests_vec_remove.c b/libft/tests/ft_vector/tests_vec_remove.c similarity index 100% rename from libft_personal/tests/ft_vector/tests_vec_remove.c rename to libft/tests/ft_vector/tests_vec_remove.c diff --git a/libft_personal/tests/ft_vector/tests_vec_remove_if.c b/libft/tests/ft_vector/tests_vec_remove_if.c similarity index 100% rename from libft_personal/tests/ft_vector/tests_vec_remove_if.c rename to libft/tests/ft_vector/tests_vec_remove_if.c diff --git a/libft_personal/tests/ft_vector/tests_vec_reserve.c b/libft/tests/ft_vector/tests_vec_reserve.c similarity index 100% rename from libft_personal/tests/ft_vector/tests_vec_reserve.c rename to libft/tests/ft_vector/tests_vec_reserve.c diff --git a/libft_personal/tests/ft_vector/tests_vec_reverse.c b/libft/tests/ft_vector/tests_vec_reverse.c similarity index 100% rename from libft_personal/tests/ft_vector/tests_vec_reverse.c rename to libft/tests/ft_vector/tests_vec_reverse.c diff --git a/libft_personal/tests/ft_vector/tests_vec_shift.c b/libft/tests/ft_vector/tests_vec_shift.c similarity index 100% rename from libft_personal/tests/ft_vector/tests_vec_shift.c rename to libft/tests/ft_vector/tests_vec_shift.c diff --git a/libft_personal/tests/ft_vector/tests_vec_shrink.c b/libft/tests/ft_vector/tests_vec_shrink.c similarity index 100% rename from libft_personal/tests/ft_vector/tests_vec_shrink.c rename to libft/tests/ft_vector/tests_vec_shrink.c diff --git a/libft_personal/tests/ft_vector/tests_vec_sort.c b/libft/tests/ft_vector/tests_vec_sort.c similarity index 100% rename from libft_personal/tests/ft_vector/tests_vec_sort.c rename to libft/tests/ft_vector/tests_vec_sort.c diff --git a/libft_personal/tests/ft_vector/tests_vec_swap.c b/libft/tests/ft_vector/tests_vec_swap.c similarity index 100% rename from libft_personal/tests/ft_vector/tests_vec_swap.c rename to libft/tests/ft_vector/tests_vec_swap.c diff --git a/libft_personal/tests/ft_vector/tests_vec_to_array.c b/libft/tests/ft_vector/tests_vec_to_array.c similarity index 100% rename from libft_personal/tests/ft_vector/tests_vec_to_array.c rename to libft/tests/ft_vector/tests_vec_to_array.c diff --git a/libft_personal/tests/ft_vector/vector_tests.c b/libft/tests/ft_vector/vector_tests.c similarity index 100% rename from libft_personal/tests/ft_vector/vector_tests.c rename to libft/tests/ft_vector/vector_tests.c diff --git a/libft_personal/tests/lambdas_for_tests.c b/libft/tests/lambdas_for_tests.c similarity index 100% rename from libft_personal/tests/lambdas_for_tests.c rename to libft/tests/lambdas_for_tests.c diff --git a/libft_personal/tests/main_tests.c b/libft/tests/main_tests.c similarity index 100% rename from libft_personal/tests/main_tests.c rename to libft/tests/main_tests.c diff --git a/libft_personal/tests/tests_utils.c b/libft/tests/tests_utils.c similarity index 100% rename from libft_personal/tests/tests_utils.c rename to libft/tests/tests_utils.c diff --git a/libft_personal/Makefile b/libft_personal/Makefile deleted file mode 100644 index 5432fca..0000000 --- a/libft_personal/Makefile +++ /dev/null @@ -1,744 +0,0 @@ -# **************************************************************************** # -# # -# ::: :::::::: # -# Makefile :+: :+: :+: # -# +:+ +:+ +:+ # -# By: bgoulard +#+ +:+ +#+ # -# +#+#+#+#+#+ +#+ # -# Created: 2023/12/05 09:04:05 by bgoulard #+# #+# # -# Updated: 2024/10/31 23:53:29 by bgoulard ### ########.fr # -# # -# **************************************************************************** # - -# Colors -GRAY = "\\e[90m" -GREEN = "\\e[42m" -RED = "\\e[41m" -RESET = "\\e[0m" -BOLD = "\\e[1m" - -# Commands -CC = clang -NAME = ft_personal -OUTDIR = ../build - -TEST_NAME = tests_run -AR = ar -COV = llvm-cov -PRD = llvm-profdata -ECHO = $(shell which echo) -e -PRINTF = $(shell which printf) - -# Directories - -SRC_DIR = src -BUILD_DIR = ../build/bgoulard -TESTS_DIR = tests -INC_DIR = include -COVERAGE_DIR = coverage - -FT_MAP_DIR = ft_map -FT_LIST_DIR = ft_list -FT_STRING_DIR = ft_string -FT_VEC_DIR = ft_vector -FT_OPTIONAL_DIR = ft_optional -FT_ARGS_DIR = ft_args -FT_MATH_DIR = ft_math -FT_PAIR_DIR = ft_pair - -# Counpound directories - -FT_LIST_LL_DIR = $(FT_LIST_DIR)/ft_ll -FT_LIST_DL_DIR = $(FT_LIST_DIR)/ft_dl -FT_CHR_DIR = $(FT_STRING_DIR)/ft_chr -FT_MEM_DIR = $(FT_STRING_DIR)/ft_mem -FT_STR_DIR = $(FT_STRING_DIR)/ft_str -FT_T_STRING_DIR = $(FT_STRING_DIR)/ft_string - -# Compilation flags -## -## To change debug level run make DEBUG_LEVEL=xxx -## - -LDFLAGS = -CPPFLAGS = -I$(INC_DIR) -MMD -MP -FFLAGS =\ - -fsanitize=address -fno-omit-frame-pointer -fsanitize=undefined \ - -fsanitize=leak -fsanitize=pointer-compare \ - -fsanitize=pointer-subtract \ - -fsanitize-address-use-after-scope -fsanitize=pointer-overflow -CFLAGS =\ - -Wall -Wextra $(CPPFLAGS) -Werror -fPIC -fdiagnostics-color -TEST_FLAGS =\ - -g2 -DTEST \ - -fprofile-instr-generate -ftest-coverage -fcoverage-mapping \ - -DEBUG_LEVEL =\ - 0 -DEBUG_FLAGS =\ - -g2 -DDEBUG $(FFLAGS) -DDEBUG_LEVEL=$(DEBUG_LEVEL) - -# Inner variables - -MAX_FILE_LEN = 0 -TARGET ?= "ALL" -CLOG_FILE = ./compilation.log - -# Check for llvm-cov and llvm-profdata -# If not found, use the version 12 if available -# If not found, use the version 14 (latest version) -ifeq (, $(shell which $(COV) 2> /dev/null)) - COV = llvm-cov-12 - ifeq (, $(shell which $(COV) 2> /dev/null)) - COV = llvm-cov-14 - endif -endif - -ifeq (, $(shell which $(PRD) 2> /dev/null)) - PRD = llvm-profdata-12 - ifeq (, $(shell which $(PRD) 2> /dev/null)) - PRD = llvm-profdata-14 - endif -endif - -# Sources - -FT_PAIR_SRC = \ - $(FT_PAIR_DIR)/ft_pair_cmp.c \ - $(FT_PAIR_DIR)/ft_pair_destroy.c \ - $(FT_PAIR_DIR)/ft_pair_get.c \ - $(FT_PAIR_DIR)/ft_pair_new.c \ - $(FT_PAIR_DIR)/ft_pair_set.c \ - -FT_MATH_SRC = \ - $(FT_MATH_DIR)/ft_clamp.c \ - $(FT_MATH_DIR)/ft_complex.c \ - $(FT_MATH_DIR)/ft_intrange.c \ - $(FT_MATH_DIR)/ft_log.c \ - $(FT_MATH_DIR)/ft_minmax.c \ - $(FT_MATH_DIR)/ft_sqrt.c \ - $(FT_MATH_DIR)/ft_pow.c \ - $(FT_MATH_DIR)/ft_abs.c \ - $(FT_MATH_DIR)/ft_align.c \ - $(FT_MATH_DIR)/ft_round.c - -FT_MAP_SRC = \ - $(FT_MAP_DIR)/ft_map_clear.c \ - $(FT_MAP_DIR)/ft_map_create.c \ - $(FT_MAP_DIR)/ft_map_destroy.c \ - $(FT_MAP_DIR)/ft_map_get.c \ - $(FT_MAP_DIR)/ft_map_hash.c \ - $(FT_MAP_DIR)/ft_map_remove.c \ - $(FT_MAP_DIR)/ft_map_set.c - -FT_LIST_LL_SRC = \ - $(FT_LIST_LL_DIR)/ft_ll_find.c \ - $(FT_LIST_LL_DIR)/ft_ll_add.c \ - $(FT_LIST_LL_DIR)/ft_ll_clear.c \ - $(FT_LIST_LL_DIR)/ft_ll_delete.c \ - $(FT_LIST_LL_DIR)/ft_ll_apply.c \ - $(FT_LIST_LL_DIR)/ft_ll_iterator.c \ - $(FT_LIST_LL_DIR)/ft_ll_map.c \ - $(FT_LIST_LL_DIR)/ft_ll_new.c \ - $(FT_LIST_LL_DIR)/ft_ll_rev.c \ - $(FT_LIST_LL_DIR)/ft_ll_size.c \ - $(FT_LIST_LL_DIR)/ft_ll_create.c \ - $(FT_LIST_LL_DIR)/ft_ll_getters.c \ - $(FT_LIST_LL_DIR)/ft_ll_pushpop.c \ - $(FT_LIST_LL_DIR)/ft_ll_sub.c \ - -FT_LIST_DL_SRC = \ - $(FT_LIST_DL_DIR)/ft_dl_apply.c \ - $(FT_LIST_DL_DIR)/ft_dl_clear.c \ - $(FT_LIST_DL_DIR)/ft_dl_create.c \ - $(FT_LIST_DL_DIR)/ft_dl_delete.c \ - $(FT_LIST_DL_DIR)/ft_dl_getters.c \ - $(FT_LIST_DL_DIR)/ft_dl_iterator.c \ - $(FT_LIST_DL_DIR)/ft_dl_pushpop.c \ - $(FT_LIST_DL_DIR)/ft_dl_size.c \ - $(FT_LIST_DL_DIR)/ft_dl_sub.c \ - $(FT_LIST_DL_DIR)/ft_dl_add.c \ - $(FT_LIST_DL_DIR)/ft_dl_rev.c \ - $(FT_LIST_DL_DIR)/ft_dl_map.c \ - $(FT_LIST_DL_DIR)/ft_dl_new.c \ - $(FT_LIST_DL_DIR)/ft_dl_find.c \ - -FT_STR_SRC = \ - $(FT_STR_DIR)/ft_atof.c \ - $(FT_STR_DIR)/ft_atoi.c \ - $(FT_STR_DIR)/ft_atoi_base.c \ - $(FT_STR_DIR)/ft_itoa.c \ - $(FT_STR_DIR)/ft_itoa_base.c \ - $(FT_STR_DIR)/ft_perror.c \ - $(FT_STR_DIR)/ft_putendl_fd.c \ - $(FT_STR_DIR)/ft_putnbr_fd.c \ - $(FT_STR_DIR)/ft_putstr_fd.c \ - $(FT_STR_DIR)/ft_shift_args.c \ - $(FT_STR_DIR)/ft_split.c \ - $(FT_STR_DIR)/ft_splits.c \ - $(FT_STR_DIR)/ft_str_isalpha.c \ - $(FT_STR_DIR)/ft_str_isalnum.c \ - $(FT_STR_DIR)/ft_str_isbool.c \ - $(FT_STR_DIR)/ft_str_isdigit.c \ - $(FT_STR_DIR)/ft_str_isfloat.c \ - $(FT_STR_DIR)/ft_str_ishex.c \ - $(FT_STR_DIR)/ft_str_isdouble.c \ - $(FT_STR_DIR)/ft_str_isint.c \ - $(FT_STR_DIR)/ft_str_islong.c \ - $(FT_STR_DIR)/ft_str_isnum.c \ - $(FT_STR_DIR)/ft_str_isoct.c \ - $(FT_STR_DIR)/ft_str_isvalid.c \ - $(FT_STR_DIR)/ft_str_replace.c \ - $(FT_STR_DIR)/ft_strappend_c.c \ - $(FT_STR_DIR)/ft_strchr.c \ - $(FT_STR_DIR)/ft_strclen.c \ - $(FT_STR_DIR)/ft_strcmp.c \ - $(FT_STR_DIR)/ft_strcnb.c \ - $(FT_STR_DIR)/ft_strcspn.c \ - $(FT_STR_DIR)/ft_strdup.c \ - $(FT_STR_DIR)/ft_strend_with.c \ - $(FT_STR_DIR)/ft_strerror.c \ - $(FT_STR_DIR)/ft_striteri.c \ - $(FT_STR_DIR)/ft_strjoin.c \ - $(FT_STR_DIR)/ft_strlcat.c \ - $(FT_STR_DIR)/ft_strlcpy.c \ - $(FT_STR_DIR)/ft_strlen.c \ - $(FT_STR_DIR)/ft_strmapi.c \ - $(FT_STR_DIR)/ft_strncmp.c \ - $(FT_STR_DIR)/ft_strndup.c \ - $(FT_STR_DIR)/ft_strnstr.c \ - $(FT_STR_DIR)/ft_strrchr.c \ - $(FT_STR_DIR)/ft_strspn.c \ - $(FT_STR_DIR)/ft_strstart_with.c \ - $(FT_STR_DIR)/ft_strtok.c \ - $(FT_STR_DIR)/ft_strtrim.c \ - $(FT_STR_DIR)/ft_substr.c \ - $(FT_STR_DIR)/ft_utoa.c \ - $(FT_STR_DIR)/get_next_line.c \ - -FT_T_STRING_SRC = \ - $(FT_T_STRING_DIR)/ft_string_append.c \ - $(FT_T_STRING_DIR)/ft_string_new.c \ - $(FT_T_STRING_DIR)/ft_string_put.c \ - $(FT_T_STRING_DIR)/ft_string_from.c \ - $(FT_T_STRING_DIR)/ft_string_clear.c \ - $(FT_T_STRING_DIR)/ft_string_destroy.c \ - $(FT_T_STRING_DIR)/ft_string_insert.c \ - $(FT_T_STRING_DIR)/ft_string_reserve.c \ - $(FT_T_STRING_DIR)/ft_string_resize.c \ - $(FT_T_STRING_DIR)/ft_string_shrink.c \ - $(FT_T_STRING_DIR)/ft_string_substr.c \ - $(FT_T_STRING_DIR)/ft_string_to_str.c \ - $(FT_T_STRING_DIR)/ft_string_trim.c \ - $(FT_T_STRING_DIR)/ft_string_cmp.c \ - $(FT_T_STRING_DIR)/ft_string_get.c \ - $(FT_T_STRING_DIR)/ft_string_chr.c \ - $(FT_T_STRING_DIR)/ft_string_replace.c \ - $(FT_T_STRING_DIR)/ft_string_set.c - -FT_MEM_SRC = \ - $(FT_MEM_DIR)/ft_apply_2d.c \ - $(FT_MEM_DIR)/ft_bzero.c \ - $(FT_MEM_DIR)/ft_calloc.c \ - $(FT_MEM_DIR)/ft_fd_to_buff.c \ - $(FT_MEM_DIR)/ft_free.c \ - $(FT_MEM_DIR)/ft_free_2d.c \ - $(FT_MEM_DIR)/ft_len_2d.c \ - $(FT_MEM_DIR)/ft_malloc.c \ - $(FT_MEM_DIR)/ft_memchr.c \ - $(FT_MEM_DIR)/ft_memcmp.c \ - $(FT_MEM_DIR)/ft_memcpy.c \ - $(FT_MEM_DIR)/ft_memmap.c \ - $(FT_MEM_DIR)/ft_memmove.c \ - $(FT_MEM_DIR)/ft_memset.c \ - $(FT_MEM_DIR)/ft_qsort.c \ - $(FT_MEM_DIR)/ft_realloc.c \ - $(FT_MEM_DIR)/ft_swap.c - -FT_CHR_SRC = \ - $(FT_CHR_DIR)/ft_isalnum.c \ - $(FT_CHR_DIR)/ft_isalpha.c \ - $(FT_CHR_DIR)/ft_isascii.c \ - $(FT_CHR_DIR)/ft_isdigit.c \ - $(FT_CHR_DIR)/ft_ishexdigit.c \ - $(FT_CHR_DIR)/ft_islower.c \ - $(FT_CHR_DIR)/ft_isoctdigit.c \ - $(FT_CHR_DIR)/ft_isprint.c \ - $(FT_CHR_DIR)/ft_isspace.c \ - $(FT_CHR_DIR)/ft_isupper.c \ - $(FT_CHR_DIR)/ft_putchar_fd.c \ - $(FT_CHR_DIR)/ft_tolower.c \ - $(FT_CHR_DIR)/ft_toupper.c - -FT_VEC_SRC = \ - $(FT_VEC_DIR)/ft_vec_add.c \ - $(FT_VEC_DIR)/ft_vec_apply.c \ - $(FT_VEC_DIR)/ft_vec_at.c \ - $(FT_VEC_DIR)/ft_vec_cat.c \ - $(FT_VEC_DIR)/ft_vec_clear.c \ - $(FT_VEC_DIR)/ft_vec_destroy.c \ - $(FT_VEC_DIR)/ft_vec_filter.c \ - $(FT_VEC_DIR)/ft_vec_get.c \ - $(FT_VEC_DIR)/ft_vec_map.c \ - $(FT_VEC_DIR)/ft_vec_new.c \ - $(FT_VEC_DIR)/ft_vec_pop.c \ - $(FT_VEC_DIR)/ft_vec_remove.c \ - $(FT_VEC_DIR)/ft_vec_reserve.c \ - $(FT_VEC_DIR)/ft_vec_reverse.c \ - $(FT_VEC_DIR)/ft_vec_shift.c \ - $(FT_VEC_DIR)/ft_vec_shrink.c \ - $(FT_VEC_DIR)/ft_vec_sort.c \ - $(FT_VEC_DIR)/ft_vec_swap.c \ - $(FT_VEC_DIR)/ft_vec_to_array.c - -FT_OPTIONAL_SRC = \ - $(FT_OPTIONAL_DIR)/ft_optional_chain.c \ - $(FT_OPTIONAL_DIR)/ft_optional_copy.c \ - $(FT_OPTIONAL_DIR)/ft_optional_destroy.c \ - $(FT_OPTIONAL_DIR)/ft_optional_new.c \ - $(FT_OPTIONAL_DIR)/ft_optional_unwrap.c - -FT_ARGS_SRC = \ - $(FT_ARGS_DIR)/ft_arg_custom_checker.c \ - $(FT_ARGS_DIR)/ft_parse_args.c \ - $(FT_ARGS_DIR)/ft_parse_err.c \ - $(FT_ARGS_DIR)/ft_parse_opt.c \ - $(FT_ARGS_DIR)/ft_progname.c \ - $(FT_ARGS_DIR)/ft_set_opt_args.c \ - $(FT_ARGS_DIR)/ft_setup_prog.c \ - $(FT_ARGS_DIR)/ft_version.c - -# Counpound sources - -FT_LIST_SRC = \ - $(FT_LIST_LL_SRC) \ - $(FT_LIST_DL_SRC) \ - -FT_STRING_SRC = \ - $(FT_CHR_SRC) \ - $(FT_MEM_SRC) \ - $(FT_STR_SRC) \ - $(FT_T_STRING_SRC) - -# Tests sources - -TESTS_SRC =\ - $(TESTS_DIR)/ft_args/tests_custom_checker.c \ - $(TESTS_DIR)/ft_args/tests_optlist.c \ - $(TESTS_DIR)/ft_args/tests_progname.c \ - $(TESTS_DIR)/ft_args/tests_version.c \ - $(TESTS_DIR)/ft_args/tests_setup_prog.c \ - $(TESTS_DIR)/ft_args/args_tests.c \ - \ - $(TESTS_DIR)/ft_list/ll_tests/ll_tests_utils.c \ - $(TESTS_DIR)/ft_list/ll_tests/ll_list_tests.c \ - $(TESTS_DIR)/ft_list/ll_tests/tests_list_push.c \ - $(TESTS_DIR)/ft_list/ll_tests/tests_list_new.c \ - $(TESTS_DIR)/ft_list/ll_tests/tests_list_map.c \ - $(TESTS_DIR)/ft_list/ll_tests/tests_list_rev.c \ - $(TESTS_DIR)/ft_list/ll_tests/tests_list_sizers.c \ - $(TESTS_DIR)/ft_list/ll_tests/tests_list_apply.c \ - $(TESTS_DIR)/ft_list/ll_tests/tests_list_iterators.c \ - $(TESTS_DIR)/ft_list/ll_tests/tests_list_clear.c \ - $(TESTS_DIR)/ft_list/ll_tests/tests_list_copy.c \ - $(TESTS_DIR)/ft_list/ll_tests/tests_list_create.c \ - $(TESTS_DIR)/ft_list/ll_tests/tests_list_deletors.c \ - $(TESTS_DIR)/ft_list/ll_tests/tests_list_find.c \ - $(TESTS_DIR)/ft_list/ll_tests/tests_list_get.c \ - $(TESTS_DIR)/ft_list/ll_tests/tests_list_subrange.c \ - $(TESTS_DIR)/ft_list/ll_tests/tests_list_add.c \ - $(TESTS_DIR)/ft_list/dl_tests/dl_tests_utils.c \ - $(TESTS_DIR)/ft_list/dl_tests/dl_list_tests.c \ - $(TESTS_DIR)/ft_list/dl_tests/tests_dlist_add.c \ - $(TESTS_DIR)/ft_list/dl_tests/tests_dlist_clear.c \ - $(TESTS_DIR)/ft_list/dl_tests/tests_dlist_copy.c \ - $(TESTS_DIR)/ft_list/dl_tests/tests_dlist_create.c \ - $(TESTS_DIR)/ft_list/dl_tests/tests_dlist_delete.c \ - $(TESTS_DIR)/ft_list/dl_tests/tests_dlist_iterators.c \ - $(TESTS_DIR)/ft_list/dl_tests/tests_dlist_get.c \ - $(TESTS_DIR)/ft_list/dl_tests/tests_dlist_subrange.c \ - $(TESTS_DIR)/ft_list/dl_tests/tests_dlist_map.c \ - $(TESTS_DIR)/ft_list/dl_tests/tests_dlist_new.c \ - $(TESTS_DIR)/ft_list/dl_tests/tests_dlist_push.c \ - $(TESTS_DIR)/ft_list/dl_tests/tests_dlist_rev.c \ - $(TESTS_DIR)/ft_list/dl_tests/tests_dlist_sizers.c \ - $(TESTS_DIR)/ft_list/dl_tests/tests_dlist_apply.c \ - $(TESTS_DIR)/ft_list/dl_tests/tests_dlist_find.c \ - \ - $(TESTS_DIR)/ft_map/map_tests.c \ - $(TESTS_DIR)/ft_map/tests_map_remove.c \ - $(TESTS_DIR)/ft_map/tests_map_hash.c \ - $(TESTS_DIR)/ft_map/tests_map_create.c \ - $(TESTS_DIR)/ft_map/tests_map_destroy.c \ - $(TESTS_DIR)/ft_map/tests_map_set_cmphash.c \ - $(TESTS_DIR)/ft_map/tests_map_get.c \ - $(TESTS_DIR)/ft_map/tests_map_size.c \ - $(TESTS_DIR)/ft_map/tests_map_cappacity.c \ - $(TESTS_DIR)/ft_map/tests_map_clear.c \ - $(TESTS_DIR)/ft_map/tests_map_set.c \ - \ - $(TESTS_DIR)/ft_math/tests_abs.c \ - $(TESTS_DIR)/ft_math/tests_align.c \ - $(TESTS_DIR)/ft_math/tests_clamp.c \ - $(TESTS_DIR)/ft_math/tests_complex.c \ - $(TESTS_DIR)/ft_math/tests_intrange.c \ - $(TESTS_DIR)/ft_math/tests_log.c \ - $(TESTS_DIR)/ft_math/tests_minmax.c \ - $(TESTS_DIR)/ft_math/tests_pow.c \ - $(TESTS_DIR)/ft_math/tests_sqrt.c \ - $(TESTS_DIR)/ft_math/tests_round.c \ - $(TESTS_DIR)/ft_math/math_tests.c \ - \ - $(TESTS_DIR)/ft_optional/tests_optional_chain.c \ - $(TESTS_DIR)/ft_optional/tests_optional_copy.c \ - $(TESTS_DIR)/ft_optional/tests_optional_destroy.c \ - $(TESTS_DIR)/ft_optional/tests_optional_dup.c \ - $(TESTS_DIR)/ft_optional/tests_optional_from_val.c \ - $(TESTS_DIR)/ft_optional/tests_optional_map.c \ - $(TESTS_DIR)/ft_optional/tests_optional_new.c \ - $(TESTS_DIR)/ft_optional/tests_optional_unwrap.c \ - $(TESTS_DIR)/ft_optional/optional_tests.c \ - \ - $(TESTS_DIR)/ft_pair/tests_pair_cmp.c \ - $(TESTS_DIR)/ft_pair/tests_pair_cmp_first.c \ - $(TESTS_DIR)/ft_pair/tests_pair_cmp_second.c \ - $(TESTS_DIR)/ft_pair/tests_pair_destroy.c \ - $(TESTS_DIR)/ft_pair/tests_pair_get_first.c \ - $(TESTS_DIR)/ft_pair/tests_pair_get_second.c \ - $(TESTS_DIR)/ft_pair/tests_pair_new.c \ - $(TESTS_DIR)/ft_pair/tests_pair_set.c \ - $(TESTS_DIR)/ft_pair/pair_tests.c \ - \ - $(TESTS_DIR)/ft_string/ft_char/tests_isalnum.c \ - $(TESTS_DIR)/ft_string/ft_char/tests_isalpha.c \ - $(TESTS_DIR)/ft_string/ft_char/tests_isascii.c \ - $(TESTS_DIR)/ft_string/ft_char/tests_isdigit.c \ - $(TESTS_DIR)/ft_string/ft_char/tests_ishexdigit.c \ - $(TESTS_DIR)/ft_string/ft_char/tests_isoctdigit.c \ - $(TESTS_DIR)/ft_string/ft_char/tests_isspace.c \ - $(TESTS_DIR)/ft_string/ft_char/tests_isprint.c \ - $(TESTS_DIR)/ft_string/ft_char/tests_puchar.c \ - $(TESTS_DIR)/ft_string/ft_char/tests_tolower.c \ - $(TESTS_DIR)/ft_string/ft_char/tests_toupper.c \ - $(TESTS_DIR)/ft_string/ft_char/ft_char_tests.c \ - \ - $(TESTS_DIR)/ft_string/ft_mem/tests_apply_2d.c \ - $(TESTS_DIR)/ft_string/ft_mem/tests_bzero.c \ - $(TESTS_DIR)/ft_string/ft_mem/tests_calloc.c \ - $(TESTS_DIR)/ft_string/ft_mem/tests_fd_to_buff.c \ - $(TESTS_DIR)/ft_string/ft_mem/tests_free.c \ - $(TESTS_DIR)/ft_string/ft_mem/tests_free_2d.c \ - $(TESTS_DIR)/ft_string/ft_mem/tests_len_2d.c \ - $(TESTS_DIR)/ft_string/ft_mem/tests_memchr.c \ - $(TESTS_DIR)/ft_string/ft_mem/tests_memcmp.c \ - $(TESTS_DIR)/ft_string/ft_mem/tests_memcpy.c \ - $(TESTS_DIR)/ft_string/ft_mem/tests_memmap.c \ - $(TESTS_DIR)/ft_string/ft_mem/tests_memmove.c \ - $(TESTS_DIR)/ft_string/ft_mem/tests_memset.c \ - $(TESTS_DIR)/ft_string/ft_mem/tests_qsort.c \ - $(TESTS_DIR)/ft_string/ft_mem/tests_realloc.c \ - $(TESTS_DIR)/ft_string/ft_mem/tests_swap.c \ - $(TESTS_DIR)/ft_string/ft_mem/mem_tests.c \ - \ - $(TESTS_DIR)/ft_string/ft_str/test_atoi_base.c \ - $(TESTS_DIR)/ft_string/ft_str/test_atoi.c \ - $(TESTS_DIR)/ft_string/ft_str/test_atof.c \ - $(TESTS_DIR)/ft_string/ft_str/test_gnl.c \ - $(TESTS_DIR)/ft_string/ft_str/test_itoa_base.c \ - $(TESTS_DIR)/ft_string/ft_str/test_itoa.c \ - $(TESTS_DIR)/ft_string/ft_str/test_putendl.c \ - $(TESTS_DIR)/ft_string/ft_str/test_putnbr.c \ - $(TESTS_DIR)/ft_string/ft_str/test_putstr.c \ - $(TESTS_DIR)/ft_string/ft_str/test_shift_args.c \ - $(TESTS_DIR)/ft_string/ft_str/test_split.c \ - $(TESTS_DIR)/ft_string/ft_str/test_splits.c \ - $(TESTS_DIR)/ft_string/ft_str/test_str_isalpha.c \ - $(TESTS_DIR)/ft_string/ft_str/test_str_isalnum.c \ - $(TESTS_DIR)/ft_string/ft_str/test_str_isdouble.c \ - $(TESTS_DIR)/ft_string/ft_str/test_str_isdigit.c \ - $(TESTS_DIR)/ft_string/ft_str/test_str_isbool.c \ - $(TESTS_DIR)/ft_string/ft_str/test_str_isfloat.c \ - $(TESTS_DIR)/ft_string/ft_str/test_str_ishex.c \ - $(TESTS_DIR)/ft_string/ft_str/test_str_isint.c \ - $(TESTS_DIR)/ft_string/ft_str/test_str_islong.c \ - $(TESTS_DIR)/ft_string/ft_str/test_str_isnum.c \ - $(TESTS_DIR)/ft_string/ft_str/test_str_isoct.c \ - $(TESTS_DIR)/ft_string/ft_str/test_str_isvalid.c \ - $(TESTS_DIR)/ft_string/ft_str/test_strchr.c \ - $(TESTS_DIR)/ft_string/ft_str/test_strclen.c \ - $(TESTS_DIR)/ft_string/ft_str/test_strcmp.c \ - $(TESTS_DIR)/ft_string/ft_str/test_strcnb.c \ - $(TESTS_DIR)/ft_string/ft_str/test_strcspn.c \ - $(TESTS_DIR)/ft_string/ft_str/test_strdup.c \ - $(TESTS_DIR)/ft_string/ft_str/test_strend_with.c \ - $(TESTS_DIR)/ft_string/ft_str/test_striteri.c \ - $(TESTS_DIR)/ft_string/ft_str/test_strjoin.c \ - $(TESTS_DIR)/ft_string/ft_str/test_strlcat.c \ - $(TESTS_DIR)/ft_string/ft_str/test_strlcpy.c \ - $(TESTS_DIR)/ft_string/ft_str/test_strlen.c \ - $(TESTS_DIR)/ft_string/ft_str/test_strmapi.c \ - $(TESTS_DIR)/ft_string/ft_str/test_strncmp.c \ - $(TESTS_DIR)/ft_string/ft_str/test_strndup.c \ - $(TESTS_DIR)/ft_string/ft_str/test_strnstr.c \ - $(TESTS_DIR)/ft_string/ft_str/test_strrchr.c \ - $(TESTS_DIR)/ft_string/ft_str/test_strspn.c \ - $(TESTS_DIR)/ft_string/ft_str/test_strstart_with.c \ - $(TESTS_DIR)/ft_string/ft_str/test_str_replace.c \ - $(TESTS_DIR)/ft_string/ft_str/test_str_replace_chr.c \ - $(TESTS_DIR)/ft_string/ft_str/test_strappend_c.c \ - $(TESTS_DIR)/ft_string/ft_str/test_strtok.c \ - $(TESTS_DIR)/ft_string/ft_str/test_strtrim.c \ - $(TESTS_DIR)/ft_string/ft_str/test_substr.c \ - $(TESTS_DIR)/ft_string/ft_str/test_utoa.c \ - $(TESTS_DIR)/ft_string/ft_str/str_tests.c \ - $(TESTS_DIR)/ft_string/string_tests.c \ - \ - $(TESTS_DIR)/ft_string/ft_string/test_append.c \ - $(TESTS_DIR)/ft_string/ft_string/test_append_c.c \ - $(TESTS_DIR)/ft_string/ft_string/test_append_n.c \ - $(TESTS_DIR)/ft_string/ft_string/test_append_s.c \ - $(TESTS_DIR)/ft_string/ft_string/test_append_sn.c \ - $(TESTS_DIR)/ft_string/ft_string/test_cap.c \ - $(TESTS_DIR)/ft_string/ft_string/test_chr.c \ - $(TESTS_DIR)/ft_string/ft_string/test_clear.c \ - $(TESTS_DIR)/ft_string/ft_string/test_cmp.c \ - $(TESTS_DIR)/ft_string/ft_string/test_cmp_str.c \ - $(TESTS_DIR)/ft_string/ft_string/test_destroy.c \ - $(TESTS_DIR)/ft_string/ft_string/test_from.c \ - $(TESTS_DIR)/ft_string/ft_string/test_from_c.c \ - $(TESTS_DIR)/ft_string/ft_string/test_from_n.c \ - $(TESTS_DIR)/ft_string/ft_string/test_from_s.c \ - $(TESTS_DIR)/ft_string/ft_string/test_from_sn.c \ - $(TESTS_DIR)/ft_string/ft_string/test_get.c \ - $(TESTS_DIR)/ft_string/ft_string/test_insert.c \ - $(TESTS_DIR)/ft_string/ft_string/test_insert_c.c \ - $(TESTS_DIR)/ft_string/ft_string/test_insert_n.c \ - $(TESTS_DIR)/ft_string/ft_string/test_insert_s.c \ - $(TESTS_DIR)/ft_string/ft_string/test_insert_sn.c \ - $(TESTS_DIR)/ft_string/ft_string/test_len.c \ - $(TESTS_DIR)/ft_string/ft_string/test_ncmp.c \ - $(TESTS_DIR)/ft_string/ft_string/test_ncmp_str.c \ - $(TESTS_DIR)/ft_string/ft_string/test_new.c \ - $(TESTS_DIR)/ft_string/ft_string/test_offset.c \ - $(TESTS_DIR)/ft_string/ft_string/test_put.c \ - $(TESTS_DIR)/ft_string/ft_string/test_rchr.c \ - $(TESTS_DIR)/ft_string/ft_string/test_replace.c \ - $(TESTS_DIR)/ft_string/ft_string/test_replace_chr.c \ - $(TESTS_DIR)/ft_string/ft_string/test_reserve.c \ - $(TESTS_DIR)/ft_string/ft_string/test_resize.c \ - $(TESTS_DIR)/ft_string/ft_string/test_roffset.c \ - $(TESTS_DIR)/ft_string/ft_string/test_set.c \ - $(TESTS_DIR)/ft_string/ft_string/test_set_inplace.c \ - $(TESTS_DIR)/ft_string/ft_string/test_set_n.c \ - $(TESTS_DIR)/ft_string/ft_string/test_shrink.c \ - $(TESTS_DIR)/ft_string/ft_string/test_substr.c \ - $(TESTS_DIR)/ft_string/ft_string/test_to_str.c \ - $(TESTS_DIR)/ft_string/ft_string/test_trim.c \ - $(TESTS_DIR)/ft_string/ft_string/test_trim_chr.c \ - $(TESTS_DIR)/ft_string/ft_string/test_trimstr.c \ - $(TESTS_DIR)/ft_string/ft_string/t_string_tests.c \ - \ - $(TESTS_DIR)/ft_vector/tests_vec_add.c \ - $(TESTS_DIR)/ft_vector/tests_vec_apply.c \ - $(TESTS_DIR)/ft_vector/tests_vec_at.c \ - $(TESTS_DIR)/ft_vector/tests_vec_cat.c \ - $(TESTS_DIR)/ft_vector/tests_vec_clear.c \ - $(TESTS_DIR)/ft_vector/tests_vec_convert_alloc_array.c \ - $(TESTS_DIR)/ft_vector/tests_vec_destroy.c \ - $(TESTS_DIR)/ft_vector/tests_vec_filter.c \ - $(TESTS_DIR)/ft_vector/tests_vec_from_array.c \ - $(TESTS_DIR)/ft_vector/tests_vec_from_size.c \ - $(TESTS_DIR)/ft_vector/tests_vec_get.c \ - $(TESTS_DIR)/ft_vector/tests_vec_map.c \ - $(TESTS_DIR)/ft_vector/tests_vec_new.c \ - $(TESTS_DIR)/ft_vector/tests_vec_pop.c \ - $(TESTS_DIR)/ft_vector/tests_vec_remove.c \ - $(TESTS_DIR)/ft_vector/tests_vec_remove_if.c \ - $(TESTS_DIR)/ft_vector/tests_vec_reserve.c \ - $(TESTS_DIR)/ft_vector/tests_vec_reverse.c \ - $(TESTS_DIR)/ft_vector/tests_vec_shift.c \ - $(TESTS_DIR)/ft_vector/tests_vec_shrink.c \ - $(TESTS_DIR)/ft_vector/tests_vec_sort.c \ - $(TESTS_DIR)/ft_vector/tests_vec_swap.c \ - $(TESTS_DIR)/ft_vector/tests_vec_to_array.c \ - $(TESTS_DIR)/ft_vector/vector_tests.c \ - \ - $(TESTS_DIR)/main_tests.c \ - $(TESTS_DIR)/lambdas_for_tests.c \ - $(TESTS_DIR)/tests_utils.c - -# Inner variables for targets - -STABLE = \ - $(FT_MATH_SRC) \ - $(FT_LIST_SRC) \ - $(FT_VEC_SRC) \ - $(FT_STRING_SRC) \ - $(FT_MAP_SRC) \ - $(FT_OPTIONAL_SRC) \ - $(FT_ARGS_SRC) \ - $(FT_PAIR_SRC) \ - -UNSTABLE = \ - -INNER_SRC = \ - $(STABLE) - -# Check if user wants to compile unstable sources -# to compile unstable sources run make with TARGET=UNSTABLE -ifeq (UNSTABLE, $(findstring UNSTABLE, $(TARGET))) -INNER_SRC += \ - $(UNSTABLE) -endif -# Check if user wants to compile all sources -# to compile all sources run make with TARGET=ALL -ifeq (ALL, $(findstring ALL, $(TARGET))) -INNER_SRC = \ - $(STABLE) \ - $(UNSTABLE) -endif - -# Objects creation - -# add prefix to sources to specify the directory src/ -SRCS = $(addprefix $(SRC_DIR)/, $(INNER_SRC)) - -# add prefix to sources to specify the directory build/ for objects -OBJ = $(patsubst %.c, %.o, $(addprefix $(BUILD_DIR)/,$(INNER_SRC))) - -# add prefix to sources to specify the directory build/tests/ for test objects -TOBJ = $(patsubst %.c, %.o, $(addprefix $(BUILD_DIR)/$(TESTS_DIR)/,$(INNER_SRC))) -TOBJ += $(patsubst %.c, %.o, $(addprefix $(BUILD_DIR)/,$(TESTS_SRC))) - -# Inner variables for rules - -# Get the max length of the sources names to align the output -MAX_FILE_LEN = $(shell $(PRINTF) "%s\n" $(SRCS) | \ - awk '{print length}' | sort -n | tail -1) - -# Rules - -# Default rule for objects imported from src/ -$(BUILD_DIR)/%.o: $(SRC_DIR)/%.c - @$(ECHO) -n $(GRAY) "building from " - @$(PRINTF) "%*s ... "$(RESET) $(MAX_FILE_LEN) $< - @mkdir -p $(dir $@) - @( $(CC) $(CFLAGS) -c $< -o $@ 2>> $(CLOG_FILE) && \ - $(ECHO) $(GREEN) "Success" $(RESET) ) || \ - $(ECHO) $(RED) "Failed" $(RESET) \ - $(BOLD) "see:" $(CLOG_FILE) $(RESET) - -# Rule for tests objects imported from src/ -$(BUILD_DIR)/$(TESTS_DIR)/%.o: $(SRC_DIR)/%.c - @$(ECHO) -n $(GRAY) "building from " $< "..." $(RESET) - @mkdir -p $(dir $@) - @( $(CC) $(CFLAGS) $(TEST_FLAGS) -c $< -o $@ \ - 2>> $(CLOG_FILE) && \ - $(ECHO) $(GREEN) "Success" $(RESET) ) || \ - $(ECHO) $(RED) "Failed" $(RESET) \ - $(BOLD) "see:" $(CLOG_FILE) $(RESET) - -# Rule for tests objects imported from tests/ -$(BUILD_DIR)/$(TESTS_DIR)/%.o: $(TESTS_DIR)/%.c - @$(ECHO) -n $(GRAY) "building from " $< "..." $(RESET) - @mkdir -p $(dir $@) - @( $(CC) $(CFLAGS) $(TEST_FLAGS) -c $< -o $@ \ - 2>> $(CLOG_FILE) && \ - $(ECHO) $(GREEN) "Success" $(RESET) ) || \ - $(ECHO) $(RED) "Failed" $(RESET) \ - $(BOLD) "see:" $(CLOG_FILE) $(RESET) - -# Default rule -all: $(OUTDIR)/lib$(NAME).a - -tmp: - @echo $(SRCS) - -so: $(OUTDIR)/lib$(NAME).so - -# Rule for shared library -$(OUTDIR)/lib$(NAME).so: $(OBJ) - @$(ECHO) -n $(GRAY) "Making ... " $(RESET) $(BOLD) \ - "$(OUTDIR)/lib$(NAME).so" $(RESET) $(GRAY) " ... " $(RESET) - @( $(CC) -shared -o $(OUTDIR)/lib$(NAME).so $(OBJ) 2> /dev/null && \ - $(ECHO) $(GREEN) "Success" $(RESET) && $(RM) $(CLOG_FILE) ) || \ - $(ECHO) $(RED) "Failed" $(RESET) "see:" $(CLOG_FILE) - -# Rule for static library -$(OUTDIR)/lib$(NAME).a: $(OBJ) - @$(ECHO) -n $(GRAY) "Making ... " $(RESET) $(BOLD) \ - "$(OUTDIR)/lib$(NAME).a" $(RESET) $(GRAY) " ... " $(RESET) - @( $(AR) -rcs $(OUTDIR)/lib$(NAME).a $(OBJ) 2> /dev/null && \ - $(ECHO) $(GREEN) "Success" $(RESET) && $(RM) $(CLOG_FILE) ) || \ - $(ECHO) $(RED) "Failed" $(RESET) "see:" $(CLOG_FILE) - -# Rule to compile and run tests -$(TEST_NAME): $(TOBJ) - @$(ECHO) -n $(GRAY) "Compiling tests ... " $(RESET) - @$(CC) $(CFLAGS) $(TOBJ) -o $(TEST_NAME) $(TEST_FLAGS) \ - $(LDFLAGS) -lgcov \ - 2>> $(CLOG_FILE) && \ - $(ECHO) $(GREEN) "Success" $(RESET) || \ - $(ECHO) $(RED) "Failed" $(RESET) - @$(ECHO) -n $(GRAY) "Running tests ... " $(RESET) && \ - ./$(TEST_NAME) && \ - $(ECHO) $(GREEN) "Success" $(RESET) || \ - $(ECHO) $(RED) "Failed" $(RESET) - -# Rule to generate coverage using llvm -$(COVERAGE_DIR): $(TEST_NAME) - @$(ECHO) -n $(GRAY) "Generating profraw ... " $(RESET) && \ - ./$(TEST_NAME) && \ - $(ECHO) -n $(GRAY) " profdata ... " $(RESET) && \ - $(PRD) merge -sparse default.profraw -o \ - $(TEST_NAME).profdata && \ - $(ECHO) -n $(GRAY) "coverage in html ... " \ - $(RESET) && \ - $(COV) show -format=html \ - -instr-profile=$(TEST_NAME).profdata \ - -ignore-filename-regex=$(TESTS_DIR)/* \ - --show-branches=count \ - ./$(TEST_NAME) -output-dir=$(COVERAGE_DIR) > /dev/null && \ - $(RM) *.profraw *.profdata && \ - $(ECHO) $(GREEN) "Success" $(RESET) || \ - $(ECHO) $(RED) "Failed" $(RESET) - -# Rule to compile using debug flags -debug: - @$(ECHO) $(GRAY) "Compiling debug, flags are" $(RESET) \ - "$(CFLAGS) $(DEBUG_FLAGS)" $(RESET) && \ - make --no-print-directory -C . re \ - CFLAGS="$(CFLAGS) $(DEBUG_FLAGS)" && \ - make --no-print-directory -C . \ - so CFLAGS="$(CFLAGS) $(DEBUG_FLAGS)" && \ - $(ECHO) $(GREEN) "Success" $(RESET) || \ - $(ECHO) $(RED) "Failed" $(RESET) - -# Rule to clean objects -clean: - @$(ECHO) -n $(GRAY) "Clean ... " $(RESET) && \ - ( $(RM) -rf $(BUILD_DIR) $(CLOG_FILE) $(TEST_NAME) *.gcov \ - *.gcno *.gcda 2> /dev/null && \ - $(ECHO) $(GREEN) "Success" $(RESET) ) || \ - $(ECHO) $(RED) "Failed" $(RESET) - -# Rule to clean objects and libraries/compiled files -fclean: clean - @$(ECHO) -n $(GRAY) "FClean ... " $(RESET) && \ - ( $(RM) -rf $(OUTDIR)/lib$(NAME).a l$(OUTDIR)/ib$(NAME).so \ - $(COVERAGE_DIR) $(TEST_NAME) \ - *.profraw *.profdata Doxygen 2> /dev/null && \ - $(ECHO) $(GREEN) "Success" $(RESET) ) || \ - $(ECHO) $(RED) "Failed" $(RESET) - -# Rule to recompile -re: fclean - @$(ECHO) -ne $(GRAY) "Recompiling ..." $(RESET) "\n" && \ - make --no-print-directory all && \ - $(ECHO) $(GREEN) "Success" $(RESET) || \ - $(ECHO) $(RED) "Failed" $(RESET) - --include $(OBJ:.o=.d) - -# rule to force rules to be executed even if files exist -.PHONY: re fclean clean diff --git a/sources/main.c b/sources/main.c index cd1890b..1dcc519 100644 --- a/sources/main.c +++ b/sources/main.c @@ -6,7 +6,7 @@ /* By: rparodi +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2024/10/30 16:30:03 by rparodi #+# #+# */ -/* Updated: 2024/10/31 16:43:19 by rparodi ### ########.fr */ +/* Updated: 2024/11/08 11:48:44 by rparodi ### ########.fr */ /* */ /* ************************************************************************** */