Edited to be used on other project

This commit is contained in:
Raphael 2024-10-31 17:23:25 +01:00
parent e1d33272f7
commit 707e9a4177
9 changed files with 260 additions and 6 deletions

View file

@ -6,14 +6,14 @@
# By: rparodi <marvin@42.fr> +#+ +:+ +#+ #
# +#+#+#+#+#+ +#+ #
# Created: 2023/11/12 11:05:05 by rparodi #+# #+# #
# Updated: 2024/10/31 16:15:59 by rparodi ### ########.fr #
# Updated: 2024/10/31 17:22:49 by rparodi ### ########.fr #
# #
# **************************************************************************** #
# Variables
# Name
NAME=libft.a
NAME = libft.a
# Commands
CC = cc
@ -30,7 +30,7 @@ CFLAGS += -g3 -MMD
LDFLAGS = -L.
LDLIBS = -lft
INCLUDES = ./includes/
INCLUDES = ./includes/libft/
SRC = char/ft_isdigit.c \
char/ft_isalnum.c \
@ -66,6 +66,7 @@ SRC = char/ft_isdigit.c \
print/ft_putstr_fd.c \
str/ft_split.c \
str/ft_strchr.c \
str/ft_strcmp.c \
str/ft_strcpy.c \
str/ft_strdup.c \
str/ft_striteri.c \
@ -81,7 +82,7 @@ SRC = char/ft_isdigit.c \
str/ft_substr.c
# Objects
OBJDIRNAME = ./objects
OBJDIRNAME = ./build
OBJ = $(addprefix $(OBJDIRNAME)/,$(SRC:.c=.o))
# Colors
@ -96,11 +97,12 @@ END = \033[0m
# All (make all)
all: header $(NAME) footer
lib: $(NAME)
# Bonus (make bonus)
bonus: header $(OBJ) $(LIB_OBJ) footer
@mkdir -p $(OBJDIRNAME)
@mkdir -p $(OBJDIRNAME)/$(SRCDIRNAME)
@printf '$(GREY) Creating $(END)$(GREEN)$(OBJDIRNAME)$(END)\n'
@printf '$(GREY) Be Carefull ur in $(END)$(GREEN)Debug Mode$(END)\n'
@cc $(CFLAGS) -D BONUS=1 -o $(NAME) $(OBJ) $(LIB_OBJ)
@ -122,7 +124,6 @@ re: header fclean all
# Dependences for all
$(NAME): $(OBJ)
@mkdir -p $(OBJDIRNAME)
@printf '$(GREY) Creating $(END)$(GREEN)$(OBJDIRNAME)$(END)\n'
@ar rc $(NAME) $(OBJ)
@ranlib $(NAME)

31
includes/libft/char.h Normal file
View file

@ -0,0 +1,31 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* char.h :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: rparodi <rparodi@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* 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 <stdio.h>
# include <string.h>
# include <stdlib.h>
# include <unistd.h>
# include <limits.h>
# include <fcntl.h>
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

27
includes/libft/convert.h Normal file
View file

@ -0,0 +1,27 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* convert.h :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: rparodi <rparodi@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* 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 <stdio.h>
# include <string.h>
# include <stdlib.h>
# include <unistd.h>
# include <limits.h>
# include <fcntl.h>
char *ft_itoa(int n);
int ft_atoi(const char *nptr);
long long int ft_atoll(const char *nptr);
#endif

23
includes/libft/libft.h Normal file
View file

@ -0,0 +1,23 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* libft.h :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: rparodi <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* 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

39
includes/libft/list.h Normal file
View file

@ -0,0 +1,39 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* list.h :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: rparodi <rparodi@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* 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 <stdio.h>
# include <string.h>
# include <stdlib.h>
# include <unistd.h>
# include <limits.h>
# include <fcntl.h>
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

31
includes/libft/memory.h Normal file
View file

@ -0,0 +1,31 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* memory.h :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: rparodi <rparodi@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* 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 <stdio.h>
# include <string.h>
# include <stdlib.h>
# include <unistd.h>
# include <limits.h>
# include <fcntl.h>
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

31
includes/libft/print.h Normal file
View file

@ -0,0 +1,31 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* print.h :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: rparodi <rparodi@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* 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 <fcntl.h>
# include <limits.h>
# include <stdarg.h>
# include <stdio.h>
# include <stdlib.h>
# include <string.h>
# include <unistd.h>
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

40
includes/libft/str.h Normal file
View file

@ -0,0 +1,40 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* str.h :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: rparodi <rparodi@student.42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* 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 <stdio.h>
# include <string.h>
# include <stdlib.h>
# include <unistd.h>
# include <limits.h>
# include <fcntl.h>
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

31
str/ft_strcmp.c Normal file
View file

@ -0,0 +1,31 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* strcmp.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: rparodi <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2023/11/07 16:56:56 by rparodi #+# #+# */
/* Updated: 2024/10/31 17:05:03 by rparodi ### ########.fr */
/* */
/* ************************************************************************** */
#include "libft.h"
int ft_strcmp(const char *s1, const char *s2)
{
size_t i;
int diff;
i = 0;
while ((s1[i] || s2[i]))
{
if (s1[i] != s2[i])
{
diff = (unsigned char)s1[i] - (unsigned char)s2[i];
return (diff);
}
i++;
}
return (0);
}