push
This commit is contained in:
parent
ac6909533f
commit
07cde56d86
66
Makefile
Normal file
66
Makefile
Normal file
@ -0,0 +1,66 @@
|
||||
NAME = libft.a
|
||||
SRCS = ft_memset.c \
|
||||
ft_bzero.c \
|
||||
ft_memcpy.c \
|
||||
ft_memccpy.c \
|
||||
ft_memmove.c \
|
||||
ft_memchr.c \
|
||||
ft_memcmp.c \
|
||||
ft_strlen.c \
|
||||
ft_isalpha.c \
|
||||
ft_isdigit.c \
|
||||
ft_isalnum.c \
|
||||
ft_isascii.c \
|
||||
ft_isprint.c \
|
||||
ft_toupper.c \
|
||||
ft_tolower.c \
|
||||
ft_strchr.c \
|
||||
ft_strrchr.c \
|
||||
ft_strncmp.c \
|
||||
ft_strlcpy.c \
|
||||
ft_strlcat.c \
|
||||
ft_strnstr.c \
|
||||
ft_atoi.c \
|
||||
ft_calloc.c \
|
||||
ft_strdup.c \
|
||||
ft_substr.c \
|
||||
ft_strjoin.c \
|
||||
ft_strtrim.c \
|
||||
ft_split.c \
|
||||
ft_itoa.c \
|
||||
ft_strmapi.c \
|
||||
ft_putchar_fd.c \
|
||||
ft_putstr_fd.c \
|
||||
ft_putendl_fd.c \
|
||||
ft_putnbr_fd.c
|
||||
OBJS = ${SRCS:.c=.o}
|
||||
BONUS_C = ft_lstnew.c ft_lstadd_front.c ft_lstsize.c ft_lstlast.c ft_lstadd_back.c \
|
||||
ft_lstdelone.c ft_lstclear.c ft_lstiter.c ft_lstmap.c
|
||||
BONUS_O = ${BONUS_C:.c=.o}
|
||||
CC = gcc
|
||||
CFLAGS = -Wall -Wextra -Werror
|
||||
RM = rm -rf
|
||||
|
||||
.c.o:
|
||||
${CC} ${CFLAGS} -c $< -o ${<:.c=.o}
|
||||
|
||||
${NAME}:${OBJS}
|
||||
ar -rcs ${NAME} ${OBJS}
|
||||
|
||||
all: ${NAME}
|
||||
|
||||
bonus: all
|
||||
${CC} ${CFLAGS} -c ${BONUS_C}
|
||||
ar -rcs ${NAME} ${BONUS_O}
|
||||
|
||||
clean:
|
||||
${RM} ${OBJS}
|
||||
${RM} ${BONUS_O}
|
||||
|
||||
fclean: clean
|
||||
${RM} ${NAME}
|
||||
|
||||
re: fclean all
|
||||
|
||||
.PHONY: all clean fclean re bonus
|
||||
|
||||
@ -10,7 +10,7 @@
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#include <libft.h>
|
||||
#include "libft.h"
|
||||
|
||||
int ft_atoi(const char *nptr)
|
||||
{
|
||||
|
||||
@ -10,7 +10,7 @@
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#include <libft.h>
|
||||
#include "libft.h"
|
||||
|
||||
void ft_bzero(void *s, size_t n)
|
||||
{
|
||||
|
||||
@ -10,7 +10,7 @@
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#include <libft.h>
|
||||
#include "libft.h"
|
||||
|
||||
void *ft_calloc(size_t nmemb, size_t size)
|
||||
{
|
||||
|
||||
@ -10,7 +10,7 @@
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#include <libft.h>
|
||||
#include "libft.h"
|
||||
|
||||
int ft_isalnum(int c)
|
||||
{
|
||||
|
||||
@ -6,17 +6,14 @@
|
||||
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2020/11/29 00:10:17 by apommier #+# #+# */
|
||||
/* Updated: 2020/11/29 17:04:28 by apommier ### ########.fr */
|
||||
/* Updated: 2020/12/11 15:44:14 by apommier ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#include <libft.h>
|
||||
#include "libft.h"
|
||||
|
||||
int ft_isalpha(int c)
|
||||
{
|
||||
char c;
|
||||
|
||||
ch = (char)c;
|
||||
if ((c > 64 && c < 90) || (c > 96 && c < 122))
|
||||
return (c);
|
||||
else
|
||||
|
||||
@ -10,7 +10,7 @@
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#include <libft.h>
|
||||
#include "libft.h"
|
||||
|
||||
int ft_isascii(int c)
|
||||
{
|
||||
|
||||
@ -10,7 +10,7 @@
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#include <libft.h>
|
||||
#include "libft.h"
|
||||
|
||||
int ft_isdigit(int c)
|
||||
{
|
||||
|
||||
@ -10,7 +10,7 @@
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#include <libft.h>
|
||||
#include "libft.h"
|
||||
|
||||
int ft_isprint(int c)
|
||||
{
|
||||
|
||||
@ -6,11 +6,11 @@
|
||||
/* By: apommier <alexpomms@student.42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2020/12/08 18:20:19 by apommier #+# #+# */
|
||||
/* Updated: 2020/12/08 19:00:08 by apommier ### ########.fr */
|
||||
/* Updated: 2020/12/11 15:32:12 by apommier ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#include <libft.h>
|
||||
#include "libft.h"
|
||||
|
||||
char *fill(long n, int j, int minus)
|
||||
{
|
||||
@ -41,7 +41,6 @@ char *ft_itoa(int n)
|
||||
minus = 0;
|
||||
i = 1;
|
||||
j = 0;
|
||||
|
||||
if (n < 0)
|
||||
{
|
||||
minus = 1;
|
||||
|
||||
21
ft_lstadd_back.c
Normal file
21
ft_lstadd_back.c
Normal file
@ -0,0 +1,21 @@
|
||||
/* ************************************************************************** */
|
||||
/* */
|
||||
/* ::: :::::::: */
|
||||
/* ft_lstadd_back.c :+: :+: :+: */
|
||||
/* +:+ +:+ +:+ */
|
||||
/* By: apommier <alexpomms@student.42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2020/12/09 19:30:14 by apommier #+# #+# */
|
||||
/* Updated: 2020/12/11 15:32:53 by apommier ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#include "libft.h"
|
||||
|
||||
void ft_lstadd_back(t_list **alst, t_list *new)
|
||||
{
|
||||
if (*alst == 0)
|
||||
*alst = new;
|
||||
else
|
||||
ft_lstlast(*alst)->next = new;
|
||||
}
|
||||
17
ft_lstadd_front.c
Normal file
17
ft_lstadd_front.c
Normal file
@ -0,0 +1,17 @@
|
||||
/* ************************************************************************** */
|
||||
/* */
|
||||
/* ::: :::::::: */
|
||||
/* ft_lstadd_front.c :+: :+: :+: */
|
||||
/* +:+ +:+ +:+ */
|
||||
/* By: apommier <alexpomms@student.42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2020/12/09 01:31:45 by apommier #+# #+# */
|
||||
/* Updated: 2020/12/09 18:57:02 by apommier ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
void ft_lstadd_front(t_list **alst, t_list *new)
|
||||
{
|
||||
new->next = *alst;
|
||||
*alst = new;
|
||||
}
|
||||
29
ft_lstclear.c
Normal file
29
ft_lstclear.c
Normal file
@ -0,0 +1,29 @@
|
||||
/* ************************************************************************** */
|
||||
/* */
|
||||
/* ::: :::::::: */
|
||||
/* ft_lstclear.c :+: :+: :+: */
|
||||
/* +:+ +:+ +:+ */
|
||||
/* By: apommier <alexpomms@student.42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2020/12/09 19:58:04 by apommier #+# #+# */
|
||||
/* Updated: 2020/12/10 23:26:47 by apommier ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#include "libft.h"
|
||||
|
||||
void ft_lstclear(t_list **lst, void (*del)(void*))
|
||||
{
|
||||
t_list *chr;
|
||||
t_list *chr2;
|
||||
|
||||
chr = *lst;
|
||||
while (chr)
|
||||
{
|
||||
chr2 = chr->next;
|
||||
*del(chr->content);
|
||||
free(chr);
|
||||
chr = chr2;
|
||||
}
|
||||
lst = 0;
|
||||
}
|
||||
21
ft_lstdelone.c
Normal file
21
ft_lstdelone.c
Normal file
@ -0,0 +1,21 @@
|
||||
/* ************************************************************************** */
|
||||
/* */
|
||||
/* ::: :::::::: */
|
||||
/* ft_lstdelone.c :+: :+: :+: */
|
||||
/* +:+ +:+ +:+ */
|
||||
/* By: apommier <alexpomms@student.42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2020/12/09 19:54:40 by apommier #+# #+# */
|
||||
/* Updated: 2020/12/11 15:30:43 by apommier ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#include "libft.h"
|
||||
|
||||
void ft_lstdelone(t_list *lst, void (*del)(void*));
|
||||
{
|
||||
if (!lst)
|
||||
return;
|
||||
*del(lst->content);
|
||||
free(lst);
|
||||
}
|
||||
22
ft_lstiter.c
Normal file
22
ft_lstiter.c
Normal file
@ -0,0 +1,22 @@
|
||||
/* ************************************************************************** */
|
||||
/* */
|
||||
/* ::: :::::::: */
|
||||
/* ft_lstiter.c :+: :+: :+: */
|
||||
/* +:+ +:+ +:+ */
|
||||
/* By: apommier <alexpomms@student.42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2020/12/09 20:14:47 by apommier #+# #+# */
|
||||
/* Updated: 2020/12/11 00:43:59 by apommier ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#include "libft.h"
|
||||
|
||||
void ft_lstiter(t_list *lst, void (*f)(void *))
|
||||
{
|
||||
while (lst)
|
||||
{
|
||||
*f(lst->content);
|
||||
lst = lst->next;
|
||||
}
|
||||
}
|
||||
22
ft_lstlast.c
Normal file
22
ft_lstlast.c
Normal file
@ -0,0 +1,22 @@
|
||||
/* ************************************************************************** */
|
||||
/* */
|
||||
/* ::: :::::::: */
|
||||
/* ft_lstlast.c :+: :+: :+: */
|
||||
/* +:+ +:+ +:+ */
|
||||
/* By: apommier <alexpomms@student.42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2020/12/09 19:16:55 by apommier #+# #+# */
|
||||
/* Updated: 2020/12/09 19:21:54 by apommier ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#include "libft.h"
|
||||
|
||||
t_list *ft_lstlast(t_list *lst)
|
||||
{
|
||||
if (!lst)
|
||||
return (0);
|
||||
while (lst->next)
|
||||
lst = lst->next;
|
||||
return (lst);
|
||||
}
|
||||
32
ft_lstmap.c
Normal file
32
ft_lstmap.c
Normal file
@ -0,0 +1,32 @@
|
||||
/* ************************************************************************** */
|
||||
/* */
|
||||
/* ::: :::::::: */
|
||||
/* ft_lstmap.c :+: :+: :+: */
|
||||
/* +:+ +:+ +:+ */
|
||||
/* By: apommier <alexpomms@student.42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2020/12/11 00:10:12 by apommier #+# #+# */
|
||||
/* Updated: 2020/12/11 01:55:51 by apommier ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#include "libft.h"
|
||||
|
||||
t_list *ft_lstmap(t_list *lst, void *(*f)(void *), void (*del)(void *))
|
||||
{
|
||||
t_list *new;
|
||||
t_list *begin;
|
||||
|
||||
while (lst)
|
||||
{
|
||||
new = ft_lstnew(*f(lst->content));
|
||||
if (!new)
|
||||
{
|
||||
ft_lstclear(&begin, *del);
|
||||
return (0);
|
||||
}
|
||||
ft_lstadd_back(&begin, new);
|
||||
lst = lst->next;
|
||||
}
|
||||
return (begin);
|
||||
}
|
||||
25
ft_lstnew.c
Normal file
25
ft_lstnew.c
Normal file
@ -0,0 +1,25 @@
|
||||
/* ************************************************************************** */
|
||||
/* */
|
||||
/* ::: :::::::: */
|
||||
/* ft_lstnew.c :+: :+: :+: */
|
||||
/* +:+ +:+ +:+ */
|
||||
/* By: apommier <alexpomms@student.42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2020/12/09 01:06:20 by apommier #+# #+# */
|
||||
/* Updated: 2020/12/09 01:31:00 by apommier ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#include ""libft.h""
|
||||
|
||||
t_list *ft_lstnew(void *content)
|
||||
{
|
||||
t_list *new;
|
||||
|
||||
new = (t_list)malloc(sizeof(t_list));
|
||||
if (!new)
|
||||
return (0);
|
||||
new->content = content;
|
||||
new->next = 0;
|
||||
return (new);
|
||||
}
|
||||
26
ft_lstsize.c
Normal file
26
ft_lstsize.c
Normal file
@ -0,0 +1,26 @@
|
||||
/* ************************************************************************** */
|
||||
/* */
|
||||
/* ::: :::::::: */
|
||||
/* ft_lstsize.c :+: :+: :+: */
|
||||
/* +:+ +:+ +:+ */
|
||||
/* By: apommier <alexpomms@student.42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2020/12/09 03:24:50 by apommier #+# #+# */
|
||||
/* Updated: 2020/12/11 15:33:49 by apommier ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#include "libft.h"
|
||||
|
||||
int ft_lstsize(t_list *lst)
|
||||
{
|
||||
int i;
|
||||
|
||||
i = 0;
|
||||
while (lst)
|
||||
{
|
||||
lst = lst->next;
|
||||
i++;
|
||||
}
|
||||
return (i);
|
||||
}
|
||||
@ -10,7 +10,7 @@
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#include <libft.h>
|
||||
#include "libft.h"
|
||||
|
||||
void *ft_memccpy(void *dest, const void *src, int c, size_t n)
|
||||
{
|
||||
|
||||
@ -6,11 +6,11 @@
|
||||
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2020/11/29 00:11:39 by apommier #+# #+# */
|
||||
/* Updated: 2020/11/29 17:05:45 by apommier ### ########.fr */
|
||||
/* Updated: 2020/12/11 16:04:15 by apommier ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#include <libft.h>
|
||||
#include "libft.h"
|
||||
|
||||
void *ft_memchr(const void *s, int c, size_t n)
|
||||
{
|
||||
@ -24,4 +24,5 @@ void *ft_memchr(const void *s, int c, size_t n)
|
||||
n--;
|
||||
str++;
|
||||
}
|
||||
return (0);
|
||||
}
|
||||
|
||||
@ -6,11 +6,11 @@
|
||||
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2020/11/29 00:11:51 by apommier #+# #+# */
|
||||
/* Updated: 2020/11/29 17:05:58 by apommier ### ########.fr */
|
||||
/* Updated: 2020/12/11 16:11:54 by apommier ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#include <libft.h>
|
||||
#include "libft.h"
|
||||
|
||||
int ft_memcmp(const void *s1, const void *s2, size_t n)
|
||||
{
|
||||
@ -19,8 +19,8 @@ int ft_memcmp(const void *s1, const void *s2, size_t n)
|
||||
i = 0;
|
||||
while (n)
|
||||
{
|
||||
if (s1[i] != s2[i])
|
||||
return (s1[i] - s2[i]);
|
||||
if (((char*)s1)[i] != ((char*)s2)[i])
|
||||
return (((char*)s1)[i] - ((char*)s2)[i]);
|
||||
n--;
|
||||
i++;
|
||||
}
|
||||
|
||||
@ -6,11 +6,11 @@
|
||||
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2020/11/29 00:12:03 by apommier #+# #+# */
|
||||
/* Updated: 2020/11/29 17:06:29 by apommier ### ########.fr */
|
||||
/* Updated: 2020/12/11 15:51:47 by apommier ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#include <libft.h>
|
||||
#include "libft.h"
|
||||
|
||||
void *ft_memcpy(void *dest, const void *src, size_t n)
|
||||
{
|
||||
@ -19,8 +19,8 @@ void *ft_memcpy(void *dest, const void *src, size_t n)
|
||||
int i;
|
||||
|
||||
i = 0;
|
||||
p = (char*)dest;
|
||||
p2 = (char*)src;
|
||||
p = (unsigned char*)dest;
|
||||
p2 = (unsigned char*)src;
|
||||
while (n > 0)
|
||||
{
|
||||
n--;
|
||||
|
||||
@ -10,7 +10,7 @@
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#include <libft.h>
|
||||
#include "libft.h"
|
||||
|
||||
void *ft_memmove(void *dest, const void *src, size_t n)
|
||||
{
|
||||
|
||||
@ -6,16 +6,16 @@
|
||||
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2020/11/29 00:12:24 by apommier #+# #+# */
|
||||
/* Updated: 2020/11/29 17:08:00 by apommier ### ########.fr */
|
||||
/* Updated: 2020/12/11 15:48:06 by apommier ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#include <libft.h>
|
||||
#include "libft.h"
|
||||
|
||||
void *ft_memset(void *s, int c, size_t n)
|
||||
{
|
||||
int i;
|
||||
char *p;
|
||||
int i;
|
||||
unsigned char *p;
|
||||
|
||||
i = 0;
|
||||
p = (unsigned char*)s;
|
||||
|
||||
18
ft_putchar_fd.c
Normal file
18
ft_putchar_fd.c
Normal file
@ -0,0 +1,18 @@
|
||||
/* ************************************************************************** */
|
||||
/* */
|
||||
/* ::: :::::::: */
|
||||
/* ft_putchar_fd.c :+: :+: :+: */
|
||||
/* +:+ +:+ +:+ */
|
||||
/* By: apommier <alexpomms@student.42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2020/12/08 23:11:29 by apommier #+# #+# */
|
||||
/* Updated: 2020/12/11 17:02:13 by apommier ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#include "libft.h"
|
||||
|
||||
void ft_putchar_fd(char c, int fd)
|
||||
{
|
||||
write(fd, &c, 1);
|
||||
}
|
||||
21
ft_putendl_fd.c
Normal file
21
ft_putendl_fd.c
Normal file
@ -0,0 +1,21 @@
|
||||
/* ************************************************************************** */
|
||||
/* */
|
||||
/* ::: :::::::: */
|
||||
/* ft_putendl_fd.c :+: :+: :+: */
|
||||
/* +:+ +:+ +:+ */
|
||||
/* By: apommier <alexpomms@student.42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2020/12/08 23:22:10 by apommier #+# #+# */
|
||||
/* Updated: 2020/12/11 17:14:52 by apommier ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#include "libft.h"
|
||||
|
||||
void ft_putendl_fd(char *s, int fd)
|
||||
{
|
||||
if (s == 0)
|
||||
return ;
|
||||
write(fd, s, ft_strlen(s));
|
||||
ft_putchar_fd('\n', fd);
|
||||
}
|
||||
30
ft_putnbr_fd.c
Normal file
30
ft_putnbr_fd.c
Normal file
@ -0,0 +1,30 @@
|
||||
/* ************************************************************************** */
|
||||
/* */
|
||||
/* ::: :::::::: */
|
||||
/* ft_putnbr_fd.c :+: :+: :+: */
|
||||
/* +:+ +:+ +:+ */
|
||||
/* By: apommier <alexpomms@student.42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2020/12/08 23:25:57 by apommier #+# #+# */
|
||||
/* Updated: 2020/12/11 17:10:10 by apommier ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#include "libft.h"
|
||||
|
||||
void ft_putnbr_fd(int n, int fd)
|
||||
{
|
||||
long nbr;
|
||||
|
||||
nbr = n;
|
||||
if (nbr < 0)
|
||||
{
|
||||
ft_putchar_fd('-', fd);
|
||||
nbr *= -1;
|
||||
}
|
||||
if (nbr >= 10)
|
||||
ft_putnbr_fd(nbr / 10, fd);
|
||||
ft_putchar_fd(nbr % 10 + '0', fd);
|
||||
if (nbr < 10)
|
||||
ft_putchar_fd(nbr + '0', fd);
|
||||
}
|
||||
20
ft_putstr_fd.c
Normal file
20
ft_putstr_fd.c
Normal file
@ -0,0 +1,20 @@
|
||||
/* ************************************************************************** */
|
||||
/* */
|
||||
/* ::: :::::::: */
|
||||
/* ft_putstr_fd.c :+: :+: :+: */
|
||||
/* +:+ +:+ +:+ */
|
||||
/* By: apommier <alexpomms@student.42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2020/12/08 23:15:25 by apommier #+# #+# */
|
||||
/* Updated: 2020/12/11 17:15:10 by apommier ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#include "libft.h"
|
||||
|
||||
void ft_putstr_fd(char *s, int fd)
|
||||
{
|
||||
if (s == 0)
|
||||
return ;
|
||||
write(fd, s, ft_strlen(s));
|
||||
}
|
||||
56
ft_split.c
56
ft_split.c
@ -6,33 +6,11 @@
|
||||
/* By: apommier <alexpomms@student.42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2020/12/07 00:54:12 by apommier #+# #+# */
|
||||
/* Updated: 2020/12/07 00:54:20 by apommier ### ########.fr */
|
||||
/* Updated: 2020/12/11 16:27:08 by apommier ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#include <libft.h>
|
||||
#include <stdlib.h>
|
||||
|
||||
int call(char *s, char c, char **dest, int j)
|
||||
{
|
||||
int i;
|
||||
|
||||
i = 0;
|
||||
while (j > i)
|
||||
{
|
||||
if (fill_tab(*s, c, dest[i]))
|
||||
j--;
|
||||
else
|
||||
{
|
||||
while (i - 1)
|
||||
{
|
||||
free(dest[i - 1]);
|
||||
}
|
||||
free(dest);
|
||||
}
|
||||
i++;
|
||||
}
|
||||
}
|
||||
#include "libft.h"
|
||||
|
||||
int fill_tab(char *s, char c, char *dest)
|
||||
{
|
||||
@ -41,7 +19,7 @@ int fill_tab(char *s, char c, char *dest)
|
||||
i = 0;
|
||||
while (s[i] != c || s[i])
|
||||
i++;
|
||||
dest = (char*)ft_calloc(i + 1, sizeof(char))
|
||||
dest = (char*)ft_calloc(i + 1, sizeof(char));
|
||||
if (dest == 0)
|
||||
return (0);
|
||||
i = 0;
|
||||
@ -54,6 +32,27 @@ int fill_tab(char *s, char c, char *dest)
|
||||
return (1);
|
||||
}
|
||||
|
||||
void call(char *s, char c, char **dest, int j)
|
||||
{
|
||||
int i;
|
||||
|
||||
i = 0;
|
||||
while (j > i)
|
||||
{
|
||||
if (fill_tab(s, c, dest[i]))
|
||||
j--;
|
||||
else
|
||||
{
|
||||
while (i - 1)
|
||||
{
|
||||
free(dest[i - 1]);
|
||||
}
|
||||
free(dest);
|
||||
}
|
||||
i++;
|
||||
}
|
||||
}
|
||||
|
||||
char **ft_split(char const *s, char c)
|
||||
{
|
||||
int i;
|
||||
@ -70,8 +69,9 @@ char **ft_split(char const *s, char c)
|
||||
j++;
|
||||
i++;
|
||||
}
|
||||
dest = (char**)malloc(sizeof(char*) * j)
|
||||
dest = (char**)malloc(sizeof(char*) * j);
|
||||
if (dest == 0)
|
||||
return (0)
|
||||
call(*s, c, **dest, j);
|
||||
return (0);
|
||||
call((char*)s, c, dest, j);
|
||||
return (dest);
|
||||
}
|
||||
|
||||
@ -6,17 +6,17 @@
|
||||
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2020/11/29 00:12:32 by apommier #+# #+# */
|
||||
/* Updated: 2020/11/29 17:08:24 by apommier ### ########.fr */
|
||||
/* Updated: 2020/12/11 16:14:37 by apommier ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#include <libft.h>
|
||||
#include "libft.h"
|
||||
|
||||
char *ft_strchr(const char *s, int c)
|
||||
{
|
||||
char *str;
|
||||
|
||||
str = s;
|
||||
str = (char*)s;
|
||||
while ((*str != c) || (*str != 0))
|
||||
str++;
|
||||
if (*str == c)
|
||||
|
||||
@ -10,7 +10,7 @@
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#include <libft.h>
|
||||
#include "libft.h"
|
||||
|
||||
char *ft_strdup(const char *s)
|
||||
{
|
||||
|
||||
18
ft_strjoin.c
18
ft_strjoin.c
@ -1,3 +1,17 @@
|
||||
/* ************************************************************************** */
|
||||
/* */
|
||||
/* ::: :::::::: */
|
||||
/* ft_strjoin.c :+: :+: :+: */
|
||||
/* +:+ +:+ +:+ */
|
||||
/* By: apommier <alexpomms@student.42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2020/12/11 15:38:13 by apommier #+# #+# */
|
||||
/* Updated: 2020/12/11 16:20:03 by apommier ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#include "libft.h"
|
||||
|
||||
char *ft_strjoin(char const *s1, char const *s2)
|
||||
{
|
||||
char *dest;
|
||||
@ -6,7 +20,7 @@ char *ft_strjoin(char const *s1, char const *s2)
|
||||
|
||||
i = 0;
|
||||
j = 0;
|
||||
dest = malloc(sizeof(char) * (ft_strlen(s1) + ft_strlen(s2) + 1));
|
||||
dest = (char*)malloc(sizeof(char) * (ft_strlen(s1) + ft_strlen(s2) + 1));
|
||||
if (dest == 0)
|
||||
return (0);
|
||||
while (s1[i])
|
||||
@ -16,7 +30,7 @@ char *ft_strjoin(char const *s1, char const *s2)
|
||||
i++;
|
||||
}
|
||||
i = 0;
|
||||
while(s2[i])
|
||||
while (s2[i])
|
||||
{
|
||||
dest[j] = s2[i];
|
||||
j++;
|
||||
|
||||
@ -10,7 +10,7 @@
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#include <libft.h>
|
||||
#include "libft.h"
|
||||
|
||||
size_t ft_strlcat(char *dst, const char *src, size_t size)
|
||||
{
|
||||
|
||||
@ -6,11 +6,11 @@
|
||||
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2020/11/29 00:13:07 by apommier #+# #+# */
|
||||
/* Updated: 2020/11/29 17:11:24 by apommier ### ########.fr */
|
||||
/* Updated: 2020/12/11 16:16:21 by apommier ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#include <libft.h>
|
||||
#include "libft.h"
|
||||
|
||||
size_t ft_strlcpy(char *dst, const char *src, size_t size)
|
||||
{
|
||||
@ -19,7 +19,7 @@ size_t ft_strlcpy(char *dst, const char *src, size_t size)
|
||||
|
||||
j = 0;
|
||||
i = 0;
|
||||
while (scr[i])
|
||||
while (src[i])
|
||||
i++;
|
||||
while (size - 1 && src[j] != 0)
|
||||
{
|
||||
|
||||
@ -10,7 +10,7 @@
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#include <libft.h>
|
||||
#include "libft.h"
|
||||
|
||||
size_t ft_strlen(const char *s)
|
||||
{
|
||||
|
||||
30
ft_strmapi.c
Normal file
30
ft_strmapi.c
Normal file
@ -0,0 +1,30 @@
|
||||
/* ************************************************************************** */
|
||||
/* */
|
||||
/* ::: :::::::: */
|
||||
/* ft_strmapi.c :+: :+: :+: */
|
||||
/* +:+ +:+ +:+ */
|
||||
/* By: apommier <alexpomms@student.42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2020/12/08 19:03:09 by apommier #+# #+# */
|
||||
/* Updated: 2020/12/11 16:27:53 by apommier ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#include "libft.h"
|
||||
|
||||
char *ft_strmapi(char const *s, char (*f)(unsigned int, char))
|
||||
{
|
||||
char *dest;
|
||||
int i;
|
||||
|
||||
i = 0;
|
||||
dest = (char*)calloc(ft_strlen(s) + 1, sizeof(char));
|
||||
if (!dest)
|
||||
return (0);
|
||||
while (s[i])
|
||||
{
|
||||
dest[i] = f(i, s[i]);
|
||||
i++;
|
||||
}
|
||||
return (dest);
|
||||
}
|
||||
@ -10,7 +10,7 @@
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#include <libft.h>
|
||||
#include "libft.h"
|
||||
|
||||
int ft_strncmp(const char *s1, const char *s2, size_t n)
|
||||
{
|
||||
|
||||
@ -6,11 +6,11 @@
|
||||
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2020/11/29 00:13:42 by apommier #+# #+# */
|
||||
/* Updated: 2020/11/29 17:20:11 by apommier ### ########.fr */
|
||||
/* Updated: 2020/12/11 16:17:45 by apommier ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#include <libft.h>
|
||||
#include "libft.h"
|
||||
|
||||
char *ft_strnstr(const char *big, const char *little, size_t len)
|
||||
{
|
||||
@ -19,7 +19,7 @@ char *ft_strnstr(const char *big, const char *little, size_t len)
|
||||
|
||||
i = 0;
|
||||
if (little[i] == 0)
|
||||
return (big);
|
||||
return ((char*)big);
|
||||
while (big[i] && len - i)
|
||||
{
|
||||
j = 0;
|
||||
@ -30,7 +30,7 @@ char *ft_strnstr(const char *big, const char *little, size_t len)
|
||||
while (little[j] == big[i + j] && little[j] && len - i - j)
|
||||
j++;
|
||||
if (little[j] == 0)
|
||||
return (&big[i]);
|
||||
return ((char*)&big[i]);
|
||||
}
|
||||
}
|
||||
return (0);
|
||||
|
||||
@ -6,11 +6,11 @@
|
||||
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2020/11/29 00:13:52 by apommier #+# #+# */
|
||||
/* Updated: 2020/11/29 17:20:30 by apommier ### ########.fr */
|
||||
/* Updated: 2020/12/11 16:15:25 by apommier ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#include <libft.h>
|
||||
#include "libft.h"
|
||||
|
||||
char *ft_strrchr(const char *s, int c)
|
||||
{
|
||||
@ -18,7 +18,7 @@ char *ft_strrchr(const char *s, int c)
|
||||
char *last;
|
||||
|
||||
last = 0;
|
||||
str = s;
|
||||
str = (char*)s;
|
||||
while (*str != 0)
|
||||
{
|
||||
if (*str == c)
|
||||
|
||||
12
ft_strtrim.c
12
ft_strtrim.c
@ -6,15 +6,15 @@
|
||||
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2020/11/29 23:52:05 by apommier #+# #+# */
|
||||
/* Updated: 2020/12/02 19:29:33 by apommier ### ########.fr */
|
||||
/* Updated: 2020/12/11 16:21:55 by apommier ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#include <libft.h>
|
||||
#include "libft.h"
|
||||
|
||||
static int is_set(char const *set, char c)
|
||||
{
|
||||
int i;
|
||||
int i;
|
||||
|
||||
i = 0;
|
||||
while (set[i])
|
||||
@ -25,7 +25,7 @@ static int is_set(char const *set, char c)
|
||||
return (0);
|
||||
}
|
||||
|
||||
char *ft_strtrim(char const *s1, char const *set)
|
||||
char *ft_strtrim(char const *s1, char const *set)
|
||||
{
|
||||
int j;
|
||||
int i;
|
||||
@ -44,9 +44,9 @@ char *ft_strtrim(char const *s1, char const *set)
|
||||
if (dest == 0)
|
||||
return (0);
|
||||
j = 0;
|
||||
while (s[i] && len - j)
|
||||
while (s1[i] && len - j)
|
||||
{
|
||||
dest[j] = s[i];
|
||||
dest[j] = s1[i];
|
||||
i++;
|
||||
j++;
|
||||
}
|
||||
|
||||
@ -10,7 +10,7 @@
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#include <libft.h>
|
||||
#include "libft.h"
|
||||
|
||||
char *ft_substr(char const *s, unsigned int start, size_t len)
|
||||
{
|
||||
|
||||
@ -10,7 +10,7 @@
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#include <libft.h>
|
||||
#include "libft.h"
|
||||
|
||||
int ft_tolower(int c)
|
||||
{
|
||||
|
||||
@ -10,7 +10,7 @@
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#include <libft.h>
|
||||
#include "libft.h"
|
||||
|
||||
int ft_toupper(int c)
|
||||
{
|
||||
|
||||
72
libft.h
Normal file
72
libft.h
Normal file
@ -0,0 +1,72 @@
|
||||
/* ************************************************************************** */
|
||||
/* */
|
||||
/* ::: :::::::: */
|
||||
/* libft.h :+: :+: :+: */
|
||||
/* +:+ +:+ +:+ */
|
||||
/* By: apommier <alexpomms@student.42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2020/12/11 03:21:27 by apommier #+# #+# */
|
||||
/* Updated: 2020/12/11 15:43:19 by apommier ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
#ifndef LIBFT_H
|
||||
# define LIBFT_H
|
||||
|
||||
# include <unistd.h>
|
||||
# include <stdlib.h>
|
||||
|
||||
typedef struct s_list
|
||||
{
|
||||
void *content;
|
||||
struct s_list *next;
|
||||
} t_list;
|
||||
|
||||
void *ft_memset(void *s, int c, size_t n);
|
||||
void ft_bzero(void *s, size_t n);
|
||||
void *ft_memcpy(void *dest, const void *src, size_t n);
|
||||
void *ft_memccpy(void *dest, const void *src, int c, size_t n);
|
||||
void *ft_memmove(void *dest, const void *src, size_t n);
|
||||
void *ft_memchr(const void *s, int c, size_t n);
|
||||
int ft_memcmp(const void *s1, const void *s2, size_t n);
|
||||
size_t ft_strlen(const char *s);
|
||||
int ft_isalpha(int c);
|
||||
int ft_isdigit(int c);
|
||||
int ft_isalnum(int c);
|
||||
int ft_isascii(int c);
|
||||
int ft_isprint(int c);
|
||||
int ft_toupper(int c);
|
||||
int ft_tolower(int c);
|
||||
char *ft_strchr(const char *s, int c);
|
||||
char *ft_strrchr(const char *s, int c);
|
||||
int ft_strncmp(const char *s1, const char *s2, size_t n);
|
||||
size_t ft_strlcpy(char *dst, const char *src, size_t size);
|
||||
size_t ft_strlcat(char *dst, const char *src, size_t size);
|
||||
char *ft_strnstr(const char *big, const char *little, size_t len);
|
||||
int ft_atoi(const char *nptr);
|
||||
void *ft_calloc(size_t nmenb, size_t size);
|
||||
char *ft_strdup(const char *s);
|
||||
|
||||
char *ft_substr(char const *s, unsigned int start, size_t len);
|
||||
char *ft_strjoin(char const *s1, char const *s2);
|
||||
char *ft_strtrim(char const *s1, char const *set);
|
||||
char **ft_split(char const *s, char c);
|
||||
char *ft_itoa(int n);
|
||||
char *ft_strmapi(char const *s, char (*f)(unsigned int, char));
|
||||
void ft_putchar_fd(char c, int fd);
|
||||
void ft_putstr_fd(char *s, int fd);
|
||||
void ft_putendl_fd(char *s, int fd);
|
||||
void ft_putnbr_fd(int n, int fd);
|
||||
|
||||
t_list *ft_lstnew(void *content);
|
||||
void ft_lstadd_front(t_list **alst, t_list *new);
|
||||
int ft_lstsize(t_list *lst);
|
||||
t_list *ft_lstlast(t_list *lst);
|
||||
void ft_lstadd_back(t_list **alst, t_list *new);
|
||||
void ft_lstdelone(t_list *lst, void (*del)(void *));
|
||||
void ft_lstclear(t_list **lst, void (*del)(void *));
|
||||
void ft_lstiter(t_list *lst, void (*f)(void *));
|
||||
t_list *ft_lstmap(t_list *lst, void *(*f)(void *),
|
||||
void (*del)(void *));
|
||||
|
||||
#endif
|
||||
Loading…
Reference in New Issue
Block a user