From 6c4b2222afd37724cebc2aabaf8f04a357918ace Mon Sep 17 00:00:00 2001
From: Adam Joly <adjoly@2E2.42angouleme.fr>
Date: Fri, 3 Nov 2023 16:21:15 +0100
Subject: [PATCH] first commit

---
 Makefile        |  56 ++++++++++++++++++++++++++++++++++++++++++++++++
 ft_atoi.c       |  37 ++++++++++++++++++++++++++++++++
 ft_atoi.o       | Bin 0 -> 1272 bytes
 ft_bzero.c      |  18 ++++++++++++++++
 ft_bzero.o      | Bin 0 -> 1128 bytes
 ft_calloc.c     |  18 ++++++++++++++++
 ft_isalnum.c    |  19 ++++++++++++++++
 ft_isalnum.o    | Bin 0 -> 1056 bytes
 ft_isalpha.c    |  18 ++++++++++++++++
 ft_isalpha.o    | Bin 0 -> 1032 bytes
 ft_isascii.c    |  18 ++++++++++++++++
 ft_isascii.o    | Bin 0 -> 1016 bytes
 ft_isdigit.c    |  18 ++++++++++++++++
 ft_isdigit.o    | Bin 0 -> 1016 bytes
 ft_memcpy.c     |  30 ++++++++++++++++++++++++++
 ft_memcpy.o     | Bin 0 -> 1104 bytes
 ft_memmove.c    |  18 ++++++++++++++++
 ft_memset.c     |  26 ++++++++++++++++++++++
 ft_memset.o     | Bin 0 -> 1040 bytes
 ft_putchar_fd.c |  18 ++++++++++++++++
 ft_putchar_fd.o | Bin 0 -> 1128 bytes
 ft_putnbr_fd.c  |  38 ++++++++++++++++++++++++++++++++
 ft_putnbr_fd.o  | Bin 0 -> 1464 bytes
 ft_putstr_fd.c  |  25 +++++++++++++++++++++
 ft_putstr_fd.o  | Bin 0 -> 1176 bytes
 ft_strchr.c     |  34 +++++++++++++++++++++++++++++
 ft_strlcat.c    |  18 ++++++++++++++++
 ft_strlcpy.c    |  28 ++++++++++++++++++++++++
 ft_strlcpy.o    | Bin 0 -> 1264 bytes
 ft_strlen.c     |  23 ++++++++++++++++++++
 ft_strlen.o     | Bin 0 -> 1016 bytes
 ft_substr.c     |  39 +++++++++++++++++++++++++++++++++
 ft_substr.o     | Bin 0 -> 1472 bytes
 ft_tolower.c    |  18 ++++++++++++++++
 ft_tolower.o    | Bin 0 -> 1016 bytes
 ft_toupper.c    |  18 ++++++++++++++++
 ft_toupper.o    | Bin 0 -> 1016 bytes
 libft.a         | Bin 0 -> 19486 bytes
 libft.h         |  40 ++++++++++++++++++++++++++++++++++
 39 files changed, 575 insertions(+)
 create mode 100644 Makefile
 create mode 100644 ft_atoi.c
 create mode 100644 ft_atoi.o
 create mode 100644 ft_bzero.c
 create mode 100644 ft_bzero.o
 create mode 100644 ft_calloc.c
 create mode 100644 ft_isalnum.c
 create mode 100644 ft_isalnum.o
 create mode 100644 ft_isalpha.c
 create mode 100644 ft_isalpha.o
 create mode 100644 ft_isascii.c
 create mode 100644 ft_isascii.o
 create mode 100644 ft_isdigit.c
 create mode 100644 ft_isdigit.o
 create mode 100644 ft_memcpy.c
 create mode 100644 ft_memcpy.o
 create mode 100644 ft_memmove.c
 create mode 100644 ft_memset.c
 create mode 100644 ft_memset.o
 create mode 100644 ft_putchar_fd.c
 create mode 100644 ft_putchar_fd.o
 create mode 100644 ft_putnbr_fd.c
 create mode 100644 ft_putnbr_fd.o
 create mode 100644 ft_putstr_fd.c
 create mode 100644 ft_putstr_fd.o
 create mode 100644 ft_strchr.c
 create mode 100644 ft_strlcat.c
 create mode 100644 ft_strlcpy.c
 create mode 100644 ft_strlcpy.o
 create mode 100644 ft_strlen.c
 create mode 100644 ft_strlen.o
 create mode 100644 ft_substr.c
 create mode 100644 ft_substr.o
 create mode 100644 ft_tolower.c
 create mode 100644 ft_tolower.o
 create mode 100644 ft_toupper.c
 create mode 100644 ft_toupper.o
 create mode 100644 libft.a
 create mode 100644 libft.h

diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..5b4d1b0
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,56 @@
+# **************************************************************************** #
+#                                                                              #
+#                                                         :::      ::::::::    #
+#    Makefile                                           :+:      :+:    :+:    #
+#                                                     +:+ +:+         +:+      #
+#    By: adjoly <adjoly@student.42.fr>              +#+  +:+       +#+         #
+#                                                 +#+#+#+#+#+   +#+            #
+#    Created: 2023/11/01 11:03:22 by adjoly            #+#    #+#              #
+#    Updated: 2023/11/03 11:59:46 by adjoly           ###   ########.fr        #
+#                                                                              #
+# **************************************************************************** #
+
+NAME = libft.a
+
+CC = cc
+
+SRCS = ft_atoi.c \
+		ft_bzero.c \
+		ft_isalnum.c \
+		ft_isalpha.c \
+		ft_isascii.c \
+		ft_isdigit.c \
+		ft_putchar_fd.c \
+		ft_putnbr_fd.c \
+		ft_putstr_fd.c \
+		ft_memcpy.c \
+		ft_memset.c \
+		ft_strlcpy.c \
+		ft_strlen.c \
+		ft_substr.c \
+		ft_tolower.c \
+		ft_toupper.c \
+
+OBJS = $(SRCS:.c=.o)
+
+FLAGS = -Werror -Wall -Wextra
+
+HEADER = libft.h
+
+$(NAME): $(OBJS)
+	ar -rcs	$(NAME) $(OBJS)
+
+%.o: %.c
+	$(CC) $(FLAGS) -I $(HEADER) $< -c -o $@
+
+all: $(NAME)
+
+clean:
+	rm -f $(OBJS)
+
+fclean: clean
+	rm -f $(NAME)
+
+re: fclean all
+
+.PHONY: clean all re fclean
\ No newline at end of file
diff --git a/ft_atoi.c b/ft_atoi.c
new file mode 100644
index 0000000..ec4eecb
--- /dev/null
+++ b/ft_atoi.c
@@ -0,0 +1,37 @@
+/* ************************************************************************** */
+/*                                                                            */
+/*                                                        :::      ::::::::   */
+/*   ft_atoi.c                                          :+:      :+:    :+:   */
+/*                                                    +:+ +:+         +:+     */
+/*   By: adjoly <adjoly@student.42.fr>              +#+  +:+       +#+        */
+/*                                                +#+#+#+#+#+   +#+           */
+/*   Created: 2023/10/31 09:00:27 by adjoly            #+#    #+#             */
+/*   Updated: 2023/11/01 17:15:05 by adjoly           ###   ########.fr       */
+/*                                                                            */
+/* ************************************************************************** */
+
+int	ft_atoi(const char	*nptr)
+{
+	int	i;
+	int	sign;
+	int	nbr;
+
+	i = 0;
+	sign = 1;
+	nbr = 0;
+	while ((nptr[i] >= 7 && nptr[i] <= 13) || nptr[i] == 32)
+		i++;
+	if (nptr[i] == '-')
+	{
+		sign *= -1;
+		i++;
+	}
+	else if (nptr[i] == '+')
+		i++;
+	while (nptr[i] >= '0' && nptr[i] <= '9')
+	{
+		nbr = nbr * 10 + (nptr[i] - '0');
+		i++;
+	}
+	return (nbr * sign);
+}
diff --git a/ft_atoi.o b/ft_atoi.o
new file mode 100644
index 0000000000000000000000000000000000000000..afb00108d3ce9e528dc1417d842d1ae2f8a5515a
GIT binary patch
literal 1272
zcmbtT&ubGw6rM?9lS<l+MM2cVf}nzANfg8?XhcT$&?*Q)FA}%gZ7s=eO0p?ckP1tr
z+Z6HOP3Td2)1xN|c!+<77Y|8uh>$~iTHjlDx<9%%AI!e@zW2Rv-pnLhY~ewIQo@ar
zJH*d8O31f_AD7&)M5cjRmhIoN{btf*V?=vwgxx(h#7yq6iL5S;h3~11HAxG*=R#mM
z^OahMGu!Mycz-5TLAoe>>_TaW9qdz~eFEzJS@?9=*y>W7jr)6!<Ais}3vJY?vXNu6
zk<Yw%O#G_Qo(_pYLi+ge6|<RQ*E%e0vw^UCe7t#K55^npu))!Im!Q4Mh9~9DA{@I6
z$IhOz`UU#aW<!6NPcU|e4TUdk^!x`YFSQJ_C8{;WSQR(4Msuxhh{bDCK`Q2p^DVb}
z9du9QY+&^D6GAt0^n5m*`2bga0We%>ck$})&F0=E?$1mmZ&9GQc-)5pm?D3ixLT3~
z9@`^`;O7FkyBA=HqhUv=OER@hlSpb^*EItIqi$-_!$;+O(^S+dSurb$SzjYkt+t_8
zl;veO`6`hbT1}C(mz9-<qHCNasYGg;4O3YH|4K*y-}V?3k})dJyhBtXHN4uOVUBAm
z2tr))a(+L&oa2G#)8Mhc5W%;+jV?!U4|aR7gnAqcQa{ImG2Gk#u=UWJ0k-e;-wcXE
z9Q`HT04x>ZU|RA7&w4fN!~ZVt=lB)Ck_%29+*?>j#_yj4yf1pJr$C6#jy=CT;tNc`
LFvWM~I(+}XJ2k>C

literal 0
HcmV?d00001

diff --git a/ft_bzero.c b/ft_bzero.c
new file mode 100644
index 0000000..c6902d8
--- /dev/null
+++ b/ft_bzero.c
@@ -0,0 +1,18 @@
+/* ************************************************************************** */
+/*                                                                            */
+/*                                                        :::      ::::::::   */
+/*   ft_bzero.c                                         :+:      :+:    :+:   */
+/*                                                    +:+ +:+         +:+     */
+/*   By: adjoly <adjoly@student.42.fr>              +#+  +:+       +#+        */
+/*                                                +#+#+#+#+#+   +#+           */
+/*   Created: 2023/11/03 11:58:03 by adjoly            #+#    #+#             */
+/*   Updated: 2023/11/03 12:03:51 by adjoly           ###   ########.fr       */
+/*                                                                            */
+/* ************************************************************************** */
+
+#include "libft.h"
+
+void	ft_bzero(void *s, size_t n)
+{
+	ft_memset(s, '\0', n);
+}
diff --git a/ft_bzero.o b/ft_bzero.o
new file mode 100644
index 0000000000000000000000000000000000000000..62d7f17b044ddf81f796f38891616a6bd4df5469
GIT binary patch
literal 1128
zcmb_aJ4*vW5S~kdFH{au5EM)!+GH`>Xd@9(4-^aGz((Tb+(a>V7cYAu3ZftgK@0zr
z7XA^z!a^Id5aP_a8<#V74(xt2-@JB*xmep;PZ<U%F<=>fEX4vmYh)p&3ow9@w$*yF
zu3k*5b^c+sqF3t%@y345zduuyb@gEG-Gg0<d=X{cs^eF(4Ib8y0zaFdXLBr{%P&Q-
zcOkAi8s7lM*$x;@)0i0S?YqO?lgQH{nWk%H*t|}y4)yF~0NH<tjeG{)+TGk~Nd2Ox
zkQveVxEFF`c+6kX027kSAkz74e@j;K)Isl(0T%MA!vt>%U~b@f+!s(5MUQ)R9&4pD
z9tObtKybFPZRhI3agTvjs|~N{930^ADzXSaES5vZ<CGs~F&9`}gu*Eyo_d7;B>Pw=
z-KExv+>2Vmr>#ru>A{;gLR|{dP;*wk<g6)|=9`p)Y&0$%{fIPgwG)aTM2<q|@aV#&
zF{6{H%d#Du)i^!$RyQ<V<tu6v736CAE|Bj|1}sWcpx&?SbyT|je^)kA|D^xZj8(qk
pseXE^9Uxrd=}1lHtM^hqiL$>ffJ0Q0ZztcQ3}{NEJld0F|1Xn_Vrl>Y

literal 0
HcmV?d00001

diff --git a/ft_calloc.c b/ft_calloc.c
new file mode 100644
index 0000000..8504518
--- /dev/null
+++ b/ft_calloc.c
@@ -0,0 +1,18 @@
+/* ************************************************************************** */
+/*                                                                            */
+/*                                                        :::      ::::::::   */
+/*   ft_calloc.c                                        :+:      :+:    :+:   */
+/*                                                    +:+ +:+         +:+     */
+/*   By: adjoly <adjoly@student.42.fr>              +#+  +:+       +#+        */
+/*                                                +#+#+#+#+#+   +#+           */
+/*   Created: 2023/11/01 16:02:26 by adjoly            #+#    #+#             */
+/*   Updated: 2023/11/01 16:06:22 by adjoly           ###   ########.fr       */
+/*                                                                            */
+/* ************************************************************************** */
+
+#include "libft.h"
+
+void	*calloc(size_t nmemb, size_t size)
+{
+	
+}
diff --git a/ft_isalnum.c b/ft_isalnum.c
new file mode 100644
index 0000000..b41e0b0
--- /dev/null
+++ b/ft_isalnum.c
@@ -0,0 +1,19 @@
+/* ************************************************************************** */
+/*                                                                            */
+/*                                                        :::      ::::::::   */
+/*   ft_isalnum.c                                       :+:      :+:    :+:   */
+/*                                                    +:+ +:+         +:+     */
+/*   By: adjoly <adjoly@student.42.fr>              +#+  +:+       +#+        */
+/*                                                +#+#+#+#+#+   +#+           */
+/*   Created: 2023/10/31 08:31:10 by adjoly            #+#    #+#             */
+/*   Updated: 2023/11/03 11:49:58 by adjoly           ###   ########.fr       */
+/*                                                                            */
+/* ************************************************************************** */
+
+int	ft_isalnum(int c)
+{
+	if ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z')
+		|| (c >= '0' && c <= '9'))
+		return (1);
+	return (0);
+}
diff --git a/ft_isalnum.o b/ft_isalnum.o
new file mode 100644
index 0000000000000000000000000000000000000000..aecf709b39388ebd5a5262c2305a6c6069b80369
GIT binary patch
literal 1056
zcmb`F&r1S96vyAH{iIrnh@cMM3c^9_l9y1z>L48gI~1X-Z6@uH&`~Uif*_Ejy7%AI
zq5h069XfXNAk=&AjE$Se9?Z`7ect=NS!VYto!Ja%8pzOK9ey)O0p1mu?BXPhVP|%`
z`O&;=-(0p0y)}*nR2TaFlBZHVwy)pMcr2#3W<8bAA0|+}raLtJbHvm5gu8U-@CCAk
zn!{_6qGdRxNZqVd%dQiNudo=4N8^cFx4KI07&M$hyVwP-5!U7>Mn)fT>;f`c6bJN3
zO@(g*8<WF<J?tPbIJOao;Ol!(H3)$}IE-Xk;oY;4MMNh#`do~g4Gyg6+P3L%IOe%>
z)v%nJ4a{-5$+mW~(JD8Jr@$<$Zs&}nBfNkTu!?CJ%sj~*R}9-!e5?qp$}8L`;C^n?
z{tuDG8NmT_8sdL2eKmo5lyX|bJ>rR^$mKoBGToyZ^iz;Orb5(DB46}zdA{7|u`adR
z`m833_V=!P{<FSshwM#w))X&E|1Xt57V`B_nimJni5mHaa7n-9%gBP6Zx^>~T)mL@
cFM;&=-~SLB{O{iNh{n7aKq-A^IY*xV1FD2!>Hq)$

literal 0
HcmV?d00001

diff --git a/ft_isalpha.c b/ft_isalpha.c
new file mode 100644
index 0000000..5585ab7
--- /dev/null
+++ b/ft_isalpha.c
@@ -0,0 +1,18 @@
+/* ************************************************************************** */
+/*                                                                            */
+/*                                                        :::      ::::::::   */
+/*   ft_isalpha.c                                       :+:      :+:    :+:   */
+/*                                                    +:+ +:+         +:+     */
+/*   By: adjoly <adjoly@student.42.fr>              +#+  +:+       +#+        */
+/*                                                +#+#+#+#+#+   +#+           */
+/*   Created: 2023/10/31 08:31:10 by adjoly            #+#    #+#             */
+/*   Updated: 2023/11/03 11:52:37 by adjoly           ###   ########.fr       */
+/*                                                                            */
+/* ************************************************************************** */
+
+int	ft_isalpha(int c)
+{
+	if ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z'))
+		return (1);
+	return (0);
+}
diff --git a/ft_isalpha.o b/ft_isalpha.o
new file mode 100644
index 0000000000000000000000000000000000000000..0bd62e8db83892c881ed910026096413d475ad0b
GIT binary patch
literal 1032
zcmbu7&r1S96vy9cX@#XkL{Nvlb#lnM)S=MAl8_F8mmqY~^#|<_(N#={f}oJ1`b(n!
zp+o&6K^?nw5b8ahv2F6!!0h|J&wJlDtFvdx^tMmaKrRh7;3tz5;Kc*uJsgK|?98M(
zubtD+i_=dYzL~%Rs&@Exrmqs=o7uiP2;YTJJtw;~=snoi_=M|Z_wWfaM-AI;=y{Xd
zCB13X>J`V<W6Nxb#iFsbMz6Yp-87h%*4_uL718EH!LfTBxqyr|tsQzKrXrWVt;v9I
z6FUeDU+aiR;Nxpp)epWu_yEbYhxg7xri)H;{BkkZXt}`hj%67(3fplFwzHRs)?J=I
z24<Q~E6WQ7{KX|;HN)i0C})c`ZW&N?vz0nGt7Xpe!0K+z<wqD#EQ&uxarD2!F1r0g
zCgjAu8%j;!0i~RFU_kmJE^_%l$#O&r5$S^<|B}M5M82qSdA^J^Pik-LgE#SLwU@pv
zWYu4HhwM>!Ry|&l>L<mJjVL{oro=&WqDH<^+|n<(j?AC_axk3Z9;}@5qSB{e*hh!@
T?lk00Ov;H!KDuW)N1p!;y%1aN

literal 0
HcmV?d00001

diff --git a/ft_isascii.c b/ft_isascii.c
new file mode 100644
index 0000000..32648e4
--- /dev/null
+++ b/ft_isascii.c
@@ -0,0 +1,18 @@
+/* ************************************************************************** */
+/*                                                                            */
+/*                                                        :::      ::::::::   */
+/*   ft_isascii.c                                       :+:      :+:    :+:   */
+/*                                                    +:+ +:+         +:+     */
+/*   By: adjoly <adjoly@student.42.fr>              +#+  +:+       +#+        */
+/*                                                +#+#+#+#+#+   +#+           */
+/*   Created: 2023/10/31 08:31:10 by adjoly            #+#    #+#             */
+/*   Updated: 2023/10/31 08:46:18 by adjoly           ###   ########.fr       */
+/*                                                                            */
+/* ************************************************************************** */
+
+int	ft_isascii(int c)
+{
+	if (c >= 0 && c <= 127)
+		return (1);
+	return (0);
+}
diff --git a/ft_isascii.o b/ft_isascii.o
new file mode 100644
index 0000000000000000000000000000000000000000..11cdcbfa601bcb81fb18440964f1b72b2ed789ea
GIT binary patch
literal 1016
zcmb_aK}!Nr5S~@j0!xXApbp+Tgb%GtUc?B?gG2-##nyE-$z5Z26$`{52&ACSo%$Kw
zJM<U&106bc^B~xazNvNd*udLw=9}-E_jqr6+5CY|QGi2%H2hY~0=&4$%$Ux=0xAo+
z{ztz%xakfca=(fV%zBZBFlKMrA(=iylN`TrmmL;gp-^s_PAjH0RI?Uq>y}+_nz7`z
zNQh)SnQD!@J0!<gnE)tPC!lnq%6d37|A=EZkf%j4*6uAuZ+-iVK@$ZNdgeEWYyiGS
zvzmVJ{h?#XEW3C<7x5J2m~sh6?>Hc|reWwNCT7#o#o<vQZab=W4ppaAw^duK*FiKI
zZKI@CDtG}k5SHFhg??75TB@PDbV37RJC>uC5ibqGe~1Fk@XwfYEZ<r8^jyzB?odrD
z=+R|l&G*FZC?^u>ryzgA!`rgn^zghtBhBO7Eq!tquH36lPy82CZ-?Bo^z2Gx@cvUN
zYy`OJ!d<!1n&ikghl~BpZz1Q;kD3VAxPF4~p9%JP&tF7=_w3|(m&Q|x<fC`yIlTWj
DeJE8V

literal 0
HcmV?d00001

diff --git a/ft_isdigit.c b/ft_isdigit.c
new file mode 100644
index 0000000..79e2778
--- /dev/null
+++ b/ft_isdigit.c
@@ -0,0 +1,18 @@
+/* ************************************************************************** */
+/*                                                                            */
+/*                                                        :::      ::::::::   */
+/*   ft_isdigit.c                                       :+:      :+:    :+:   */
+/*                                                    +:+ +:+         +:+     */
+/*   By: adjoly <adjoly@student.42.fr>              +#+  +:+       +#+        */
+/*                                                +#+#+#+#+#+   +#+           */
+/*   Created: 2023/10/31 08:50:01 by adjoly            #+#    #+#             */
+/*   Updated: 2023/11/03 11:53:33 by adjoly           ###   ########.fr       */
+/*                                                                            */
+/* ************************************************************************** */
+
+int	ft_isdigit(int c)
+{
+	if (c >= '0' && c <= '9')
+		return (1);
+	return (0);
+}
diff --git a/ft_isdigit.o b/ft_isdigit.o
new file mode 100644
index 0000000000000000000000000000000000000000..9473b5faa9dc877f2ae8dc509d87f549741921d6
GIT binary patch
literal 1016
zcmb_aK}!Nb6n?9w1(p&KfgSeNAsn<Wc@ZNl4-yf06kByQ$z8)8#R4e^0x76-r+!BF
z4*iAxK!=XqJP7t?omb=Lu?I8Xd*A!MnPFzGviW_VrU8WpY51*(1$a@&j7w)=0hNW^
z;A7Aq-t>ow$o(odFiS-q!kE2fN5b?On&ddcU3OG_g+jSw^NwC=8g^apnr)}ivi0N^
zOR!`-nd-RRZ6U{4nE+^)$DsA1S}Yuzf5c_ikrzXRtKD6S-um_ygEk5#^vpSjYyiH-
zvzmVJ{h_1CEGs;nOP5OFm~t_0_BgOg%d$+HLyeajPPI{QAZNF@$qo(+afcg~GhoeT
z*D4v+DqcVxSletG%segC+J<E+K2`zd@HRKfh!>W?e~1FE;h(Y2k$h*<(^H<`?TA{8
zphuUHHQf`n#XYJaK85fnR1$MX)*Bw4_9u*CpK?|Dq!vo<)ut!@^QpH(?pb<vBocW4
zR0<mbYAU!RH(HaN@Xg^MKk=K$`Sarz!ZnVcp!+9+eBSdHQQ$qh@VraoiA3QO?@a5^
F{@*@#RT%&P

literal 0
HcmV?d00001

diff --git a/ft_memcpy.c b/ft_memcpy.c
new file mode 100644
index 0000000..0c0abb3
--- /dev/null
+++ b/ft_memcpy.c
@@ -0,0 +1,30 @@
+/* ************************************************************************** */
+/*                                                                            */
+/*                                                        :::      ::::::::   */
+/*   ft_memcpy.c                                        :+:      :+:    :+:   */
+/*                                                    +:+ +:+         +:+     */
+/*   By: adjoly <adjoly@student.42.fr>              +#+  +:+       +#+        */
+/*                                                +#+#+#+#+#+   +#+           */
+/*   Created: 2023/11/02 10:21:55 by adjoly            #+#    #+#             */
+/*   Updated: 2023/11/02 11:30:30 by adjoly           ###   ########.fr       */
+/*                                                                            */
+/* ************************************************************************** */
+
+#include "libft.h"
+
+void	*ft_memcpy(void *dest, const void *src, size_t n)
+{
+	size_t	i;
+
+	i = 0;
+	if (src == NULL || dest == NULL || n == 0)
+	{
+		return (dest);
+	}
+	while (i < n)
+	{
+		((unsigned char *)dest)[i] = ((unsigned char *)src)[i];
+		i++;
+	}
+	return (dest);
+}
diff --git a/ft_memcpy.o b/ft_memcpy.o
new file mode 100644
index 0000000000000000000000000000000000000000..c12f99803fbc2571a65cb519dec30b0339963fee
GIT binary patch
literal 1104
zcmb_aK}#D^5S~q}rfAGsLMiGYH=&S6(q39hOIq3b4%&l~Qz_}Xu3DPiNV1Wn5L$>z
zw}Il%=+7v4@F4WO$6SQuriVgq>&)(Zab0qB;O%_#&3yCTzBk{s_4f%y0ci@nf!j#3
z0BYhEmjYOVhgezW?j?6SSKMt5xLfY?bIqeP?{)@|IeHwzD}=Kl>_g@_O|Yk-NE;2`
zVKBr+jK^PT{Y-Zyj0U{7;r+^{f>MM(1L*PYUj>!k@WS_f*#`aS(;1Yvo3_);8CBih
z%N?5a#+RC%D?VcdR?HV)HiPVQ+AK>SH09eSC@oc4nwv?T;*T#QM~mz?ecsNiCyCYc
zbi&07A|~4!(o=BlPs%1Ca(SYF?)XuJ5B5SXC-S7YquO;UmT4IWZD5Ysa)22%%Q9^Q
zcFi%_+J|z!;poO!VAblORnd2L@aOk{)y=BT%>Bx4UAIgacVPywhEsR+ZS-x6{Jq!~
zc1cd?^hXSp5z7gB%+iz)H$7%TP!h4cCz)0y5PktY=?gLbpNMI+q9*s3ei4%rN9+Da
zg9wh-z7F*Vcis-Uk<h$|XbHwgit<yj8VYGP$)1ER&^<sb^^$*zTyov7q5FYrZ1Vmk
cA$9Tdf5d|L*-29ng`X)vqmbTN_L2MF0DDS&+5i9m

literal 0
HcmV?d00001

diff --git a/ft_memmove.c b/ft_memmove.c
new file mode 100644
index 0000000..bc2ebdf
--- /dev/null
+++ b/ft_memmove.c
@@ -0,0 +1,18 @@
+/* ************************************************************************** */
+/*                                                                            */
+/*                                                        :::      ::::::::   */
+/*   ft_memmove.c                                       :+:      :+:    :+:   */
+/*                                                    +:+ +:+         +:+     */
+/*   By: adjoly <adjoly@student.42.fr>              +#+  +:+       +#+        */
+/*                                                +#+#+#+#+#+   +#+           */
+/*   Created: 2023/11/03 15:04:04 by adjoly            #+#    #+#             */
+/*   Updated: 2023/11/03 15:57:15 by adjoly           ###   ########.fr       */
+/*                                                                            */
+/* ************************************************************************** */
+
+#include "libft.h"
+
+void	*ft_memmove(void *dest, const void *src, size_t n)
+{
+	
+}
diff --git a/ft_memset.c b/ft_memset.c
new file mode 100644
index 0000000..a9d8143
--- /dev/null
+++ b/ft_memset.c
@@ -0,0 +1,26 @@
+/* ************************************************************************** */
+/*                                                                            */
+/*                                                        :::      ::::::::   */
+/*   ft_memset.c                                        :+:      :+:    :+:   */
+/*                                                    +:+ +:+         +:+     */
+/*   By: adjoly <adjoly@student.42.fr>              +#+  +:+       +#+        */
+/*                                                +#+#+#+#+#+   +#+           */
+/*   Created: 2023/10/31 17:40:22 by adjoly            #+#    #+#             */
+/*   Updated: 2023/11/03 12:11:08 by adjoly           ###   ########.fr       */
+/*                                                                            */
+/* ************************************************************************** */
+
+#include "libft.h"
+
+void	*ft_memset(void *s, int c, size_t n)
+{
+	size_t	i;
+
+	i = 0;
+	while (i < n)
+	{
+		((char *)(s))[i] = c;
+		i++;
+	}
+	return (s);
+}
diff --git a/ft_memset.o b/ft_memset.o
new file mode 100644
index 0000000000000000000000000000000000000000..936618d9a85e3fa0d2231efe074b37dbf56e401c
GIT binary patch
literal 1040
zcmb`F&o2W(6vyATXeE9$;vhKGNg^>(E<{L0R`*aMq$iPDYy61rR@$kQL`WoJQwRTx
zi=%LG<v-{}!i~hiZN1md)LK1y$@I<peBXCwI<u#GdLg7~phAOL_^A{Hc=Ewy4JV-;
zJ2Qs+Vz?(?Zt2r-Gq1*@UM1D2=v8A{f9*aW!m6TwUfv`6GAfJJ%id^BJ-^coSFgT3
zd!9$y`U7M(OO7bTt(@uX#1DC)xR-b0iE%c@5~GQ!Qcazp<pFx@3AE!C(8@7wpd%8!
z#xo8gr$LdXpSiBsMQFaWEtJ9z0?i|ZxCK7EW@;Ehe{c**kB`^(LKc^u<oM-cf|ms_
zD{tG}5wI<?Hn)o$k&_pkrIs?IMPXX|z;d}mJ8N!j;osi@R^U04@!jlp!L<30jak5o
zq9Dvo%ttome~DFGCER4CUHSf2K$EyZsix7^AoWR7*6N;=O!w%I2o~fY^Fy3p$$B`z
z)&45?qps%u)*FA}n+JPm>i&aYZ-?wwdM15dng%~9(pv&OR4&Vn`lLp_RvgN&_z1Fa
k+RI})!_f$J{|YEy@ce7o5Ij41-lcIvX7bTHt98`=-;uOuivR!s

literal 0
HcmV?d00001

diff --git a/ft_putchar_fd.c b/ft_putchar_fd.c
new file mode 100644
index 0000000..b644921
--- /dev/null
+++ b/ft_putchar_fd.c
@@ -0,0 +1,18 @@
+/* ************************************************************************** */
+/*                                                                            */
+/*                                                        :::      ::::::::   */
+/*   ft_putchar_fd.c                                    :+:      :+:    :+:   */
+/*                                                    +:+ +:+         +:+     */
+/*   By: adjoly <adjoly@student.42.fr>              +#+  +:+       +#+        */
+/*                                                +#+#+#+#+#+   +#+           */
+/*   Created: 2023/10/31 11:42:17 by adjoly            #+#    #+#             */
+/*   Updated: 2023/11/01 17:15:09 by adjoly           ###   ########.fr       */
+/*                                                                            */
+/* ************************************************************************** */
+
+#include "libft.h"
+
+void	ft_putchar_fd(char c, int fd)
+{
+	write(fd, &c, 1);
+}
diff --git a/ft_putchar_fd.o b/ft_putchar_fd.o
new file mode 100644
index 0000000000000000000000000000000000000000..786101f83fd99b1b1fee865a6bbdab008793650b
GIT binary patch
literal 1128
zcmbtSJ4*vW5S~kdFH{au5EMxx+PD~Pw2>20uMi6%Vk6;lxfn5biI=??1yK+rK}3I#
ztrq?f!NSHag>cSXc6B{t<p;Yn^UZ5_n2YtTjfAFwga#|{ZAlj3RUwUtHediFvu5kX
zyn54(X1lo_wu1J}dE2}V!Uu|fr9kuQN#B2jY(DUKkhaT~caW|-e(kX0r85g`o@M4T
z%R%H_1Q?BK188SEpfz-DVz9UG9&1e^Plqr|*Xpo-omd;{u`z(`Kd_5@3f{wR?j$6B
z(Izq@3Lo`C4xa}4uV{cN!KF~r`3O5m3!XZtT~fe&r))9qG&nH3;<}E9idW$d+uY91
z)wpFJ0V|j5Zq6zca7+hq;vaHH<T<5W(YIU&iab{hxLvaRT(R)eVm7cE_qmlvdFqn<
zH;Pyx*`>;{*o%71r>sll>A{;gk}3>g$T>@2eAbjp^Nqt0jmCweA0^FO?u6tAk)zOg
zJSs}Um{Cd8McFSorf_QLooXn$%$L*(D#%sUT_E4R2v`zQ3i*C%FQd}!|9hg5{3rdN
uW-Rk1KaE^+E3BZn#Pfx!$d~V>e1fz)7J!FJ{O#m>76A<*DUbFf-v1MRCuM&C

literal 0
HcmV?d00001

diff --git a/ft_putnbr_fd.c b/ft_putnbr_fd.c
new file mode 100644
index 0000000..a21fe77
--- /dev/null
+++ b/ft_putnbr_fd.c
@@ -0,0 +1,38 @@
+/* ************************************************************************** */
+/*                                                                            */
+/*                                                        :::      ::::::::   */
+/*   ft_putnbr_fd.c                                     :+:      :+:    :+:   */
+/*                                                    +:+ +:+         +:+     */
+/*   By: adjoly <adjoly@student.42.fr>              +#+  +:+       +#+        */
+/*                                                +#+#+#+#+#+   +#+           */
+/*   Created: 2023/10/31 11:52:46 by adjoly            #+#    #+#             */
+/*   Updated: 2023/11/03 11:54:29 by adjoly           ###   ########.fr       */
+/*                                                                            */
+/* ************************************************************************** */
+
+#include "libft.h"
+
+void	ft_putnbr_fd(int n, int fd)
+{
+	unsigned int	nbr;
+
+	if (n < 0)
+	{
+		write(fd, "-", 1);
+		nbr = -n;
+	}
+	else
+		nbr = n;
+	if (nbr < 10)
+		write(fd, &(char){nbr + '0'}, 1);
+	else
+	{
+		ft_putnbr_fd(nbr / 10, fd);
+		write(fd, &(char){(nbr + '0') % 10}, 1);
+	}
+}
+
+// int	main(void)
+// {
+// 	ft_putnbr_fd(10, 1);
+// }
diff --git a/ft_putnbr_fd.o b/ft_putnbr_fd.o
new file mode 100644
index 0000000000000000000000000000000000000000..2560b2ba4c666e9e10dde1b6fdfc50204b75ff28
GIT binary patch
literal 1464
zcmbtT&ubG=5PqBVhtz6=SSYBNgW{oN$<~WSC=prRLlF@IUL<UiO)X|OW%IU1VNqC+
zgiz?;;KhsofF7iv;8pw!ya*PG&^BNWfjG0BNuFywIq-I7zW06e=Ka_g=K7tKrU^Dp
ztch{Ps1W_sI4;CtL7WC=(dvA+qJvB)9CU(y6b{6~&J~#NhJEV;OWtF}AD9_?%jTeC
z_V#BW>BeCc_U0C%%b17#uGx$B@@@0j+6j)wvi+Mez4vYoYkd86*!kQI`f<gPXf)UU
z(l(Dke>B!x(WlI#k2xWV<-n6cwo<pfjqJALH#Zwz)>zT=x{)(hgLw8jtRc?h2TXhZ
zKxnOuc42<@)Gln}B49Ys-s0!h+03id?K3l}H^4w(vK0ZI5{JV{vuU9mu0lwIB54)?
z=M;Y217O&6CP{|;5@C1)X=Q$yVq9Sw#$b42<$vIzf}@7{uN7RalO-H?rtWTPTIjx0
zw{_{Xq|hr3*L6GyyoPl2yZ4H@rnD<hgkG<2yCu6?g&W!sPyJ2lkj{Brs`<9-h?*>I
z1=1_~rCRlmM6U?FDSc^|!9R0j?>DNpv=KIRgIfD9R|U0to?OhQ%|;B6PySQ*{t-j3
zT7eS2SDs7WEo%RM9YTDgg<2%U9|l|Er@2J91dr4e%Gn)IpxzlmRCeU&3Ck0o-A@Xx
zF+e`4Uj&>nmAW_yoWNZ>!M2ipE|LC*S`=d5Kf|jKOgg`ZRFKaJ&u>=IGkz7Y^!l&?
j?j?+oaYNh}>d}(hssqNHm_VQVMBJquQ|y!b=k<RBAL6&)

literal 0
HcmV?d00001

diff --git a/ft_putstr_fd.c b/ft_putstr_fd.c
new file mode 100644
index 0000000..1f63bff
--- /dev/null
+++ b/ft_putstr_fd.c
@@ -0,0 +1,25 @@
+/* ************************************************************************** */
+/*                                                                            */
+/*                                                        :::      ::::::::   */
+/*   ft_putstr_fd.c                                     :+:      :+:    :+:   */
+/*                                                    +:+ +:+         +:+     */
+/*   By: adjoly <adjoly@student.42.fr>              +#+  +:+       +#+        */
+/*                                                +#+#+#+#+#+   +#+           */
+/*   Created: 2023/10/31 11:45:55 by adjoly            #+#    #+#             */
+/*   Updated: 2023/11/01 17:14:02 by adjoly           ###   ########.fr       */
+/*                                                                            */
+/* ************************************************************************** */
+
+#include "libft.h"
+
+void	ft_putstr_fd(char *s, int fd)
+{
+	int	i;
+
+	i = 0;
+	while (s[i])
+	{
+		write(fd, &s[i], 1);
+		i++;
+	}
+}
diff --git a/ft_putstr_fd.o b/ft_putstr_fd.o
new file mode 100644
index 0000000000000000000000000000000000000000..12aaf0bf49a5d5661b2713654ce33cde90fe6545
GIT binary patch
literal 1176
zcmb_aK}#D!6n>iowW4;B7KD1prR~YV=tV&!rEEI~TcMa^3F~H~;_fDFW^ELtLP}}K
zr3Zh2{tbH(D%w9%u+YO6Jmes(?<F&FTypFOGv9mPdvD&%V?JAJZ!(4f3I?pgy{A-w
znasUi?3qOv$IKFM|K_c~CT|~h+tJOH6;qIRtS)!n#YZb+@c7FMR62(@yc3~l#oV|&
zqZZec*|Fl*xzV=bKfjVB;jIhv<4-7UMuCX(j%Np3`8_vm?9_sMVS&xF!dziF>O~i+
z8sJHvz&Q8-M$<H&O^l9x$J1v~r$yMH?bVd|HS>CMB(shgBn(Fh<sAG=hDEcW4M8Sw
z<Y`Us^+JuVXUZI%R-}_drge+2Cgi0~9rP|aV4>^TOt?(}%&Gal8=w)?gv;K(FU>WC
z?d$^cygk2cS1LHFE%+4f2v^p*+vRF#`z};PxgLpz2+P&V1BW@lP!{$k^1e^}A5g(F
zvO~@}m7hzbV(C9Of^pJ_brhwe=B#4rSyL^|H;uY%G$R9#kZIoPODKH;HA<bwrQ=vS
zFLe=ZdF+6nYMP$<Lw7V=)hlTg4b<xTU!d4IZHT2l4R&>ZB`l*c?ET+lBlS*tKh0Rx
rEB!fY*|nsGbcAbw6IrkBOZ5ch_dNg)jr83q)|ClO$y7)GB;EfGI1G58

literal 0
HcmV?d00001

diff --git a/ft_strchr.c b/ft_strchr.c
new file mode 100644
index 0000000..237ed3f
--- /dev/null
+++ b/ft_strchr.c
@@ -0,0 +1,34 @@
+/* ************************************************************************** */
+/*                                                                            */
+/*                                                        :::      ::::::::   */
+/*   ft_strchr.c                                        :+:      :+:    :+:   */
+/*                                                    +:+ +:+         +:+     */
+/*   By: adjoly <adjoly@student.42.fr>              +#+  +:+       +#+        */
+/*                                                +#+#+#+#+#+   +#+           */
+/*   Created: 2023/11/01 15:45:18 by adjoly            #+#    #+#             */
+/*   Updated: 2023/11/02 10:08:05 by adjoly           ###   ########.fr       */
+/*                                                                            */
+/* ************************************************************************** */
+
+char	*ft_strchr(const char *s, int c)
+{
+	int		i;
+	int		j;
+	char	*str_result;
+
+	i = 0;
+	j = 0;
+	while (s[i] != c || s[i])
+		i++;
+	if (s[i] == c)
+	{
+		while (s[i])
+		{
+			str_result[j] = s[j + i];
+			j++;
+		}
+		return (str_result);
+	}
+	str_result[0] = '\0';
+	return (str_result);
+}
diff --git a/ft_strlcat.c b/ft_strlcat.c
new file mode 100644
index 0000000..b2d1c87
--- /dev/null
+++ b/ft_strlcat.c
@@ -0,0 +1,18 @@
+/* ************************************************************************** */
+/*                                                                            */
+/*                                                        :::      ::::::::   */
+/*   ft_strlcat.c                                       :+:      :+:    :+:   */
+/*                                                    +:+ +:+         +:+     */
+/*   By: adjoly <adjoly@student.42.fr>              +#+  +:+       +#+        */
+/*                                                +#+#+#+#+#+   +#+           */
+/*   Created: 2023/11/03 15:59:31 by adjoly            #+#    #+#             */
+/*   Updated: 2023/11/03 16:03:46 by adjoly           ###   ########.fr       */
+/*                                                                            */
+/* ************************************************************************** */
+
+#include 'libft.h'
+
+size_t	strlcat(char *dst, const char *src, size_t size)
+{
+	
+}
\ No newline at end of file
diff --git a/ft_strlcpy.c b/ft_strlcpy.c
new file mode 100644
index 0000000..7299a2e
--- /dev/null
+++ b/ft_strlcpy.c
@@ -0,0 +1,28 @@
+/* ************************************************************************** */
+/*                                                                            */
+/*                                                        :::      ::::::::   */
+/*   ft_strlcpy.c                                       :+:      :+:    :+:   */
+/*                                                    +:+ +:+         +:+     */
+/*   By: adjoly <adjoly@student.42.fr>              +#+  +:+       +#+        */
+/*                                                +#+#+#+#+#+   +#+           */
+/*   Created: 2023/11/01 09:52:45 by adjoly            #+#    #+#             */
+/*   Updated: 2023/11/03 16:15:47 by adjoly           ###   ########.fr       */
+/*                                                                            */
+/* ************************************************************************** */
+
+#include "libft.h"
+
+size_t	ft_strlcpy(char	*dst, const char	*src, size_t	size)
+{
+	size_t	i;
+
+	i = 0;
+	while (i < size - 1 && src[i])
+	{
+		dst[i] = src[i];
+		i++;
+	}
+	if (i < size)
+		dst[i] = '\0';
+	return (ft_strlen(src));
+}
diff --git a/ft_strlcpy.o b/ft_strlcpy.o
new file mode 100644
index 0000000000000000000000000000000000000000..3e5e97591929c8e1f1f92047258404b38e9deadb
GIT binary patch
literal 1264
zcmb_bL2J}d5T5MDc9m+@Qn8?i+ytRvS1-1LtVr}7S`lIKBuko2t2D`$-E7$kMIk6n
z_u|EiH!mXiA7nvMul|DOB5c*edRsw=Gs%0~$C9HTyv)ou-@M72ygW5mZx<8=1QfUd
z$B|$GwhPC8Ep=;f3YB#heP`jX3XAr}Eb5L}R3EZ0W=s;+UyE5E<M4-49kAtZ`{tn*
zo=Y?4h_c!TwG@s)do{q+fqD2&(Vm~c{Lv*zbg)ojeRE9u{nU+FI8az*#z(J{B*9$F
zuA4(GoXd(*<!7~o{r5&g<bZ{rDi1$GeZA`kUEOvqe^cLa+MUNOU$0&<Dn@mwy4+2(
zS4odp$P6e??t{`RD;MTwOD}OS7m=q$cu$X;XUZ=Mw@%L#-lBqtd^|u}h2KeDwg}R2
zxq!aGyu_!ykkfIMaZTe5Cseew{^Dc^I_If_+(m_rpwS81uD!hrM%!^MBXD{F7<S9^
z96u0g#|Oi21&(p&Zhff}SoRheuDjzktY#AjxXEjsM~#iP<vF4ZcQtG<ut8w0quuq$
z{s%O1k7CX~e`sKcATyIErzi1Q^oX08Fqu>1v6!<+PtTg}7|nMYUwNZNo;Zn?<}I#-
z;LjsR(h4paKY2hGUxs*pVJ~A+__A(3kId1oWt{vwr`s&@`fKv0=!^FkG(#uv{4uW=
y=cMz~j77cRSCA{NCM`72a7{4g_2L**PY`hy0l4VM_gL`vxUk0w3hACq_x}e6&YdU#

literal 0
HcmV?d00001

diff --git a/ft_strlen.c b/ft_strlen.c
new file mode 100644
index 0000000..5ccf0b8
--- /dev/null
+++ b/ft_strlen.c
@@ -0,0 +1,23 @@
+/* ************************************************************************** */
+/*                                                                            */
+/*                                                        :::      ::::::::   */
+/*   ft_strlen.c                                        :+:      :+:    :+:   */
+/*                                                    +:+ +:+         +:+     */
+/*   By: adjoly <adjoly@student.42.fr>              +#+  +:+       +#+        */
+/*                                                +#+#+#+#+#+   +#+           */
+/*   Created: 2023/10/30 18:15:57 by adjoly            #+#    #+#             */
+/*   Updated: 2023/11/01 17:15:12 by adjoly           ###   ########.fr       */
+/*                                                                            */
+/* ************************************************************************** */
+
+#include "libft.h"
+
+size_t	ft_strlen(const char *s)
+{
+	int	i;
+
+	i = 0;
+	while (s[i])
+		i++;
+	return (i);
+}
diff --git a/ft_strlen.o b/ft_strlen.o
new file mode 100644
index 0000000000000000000000000000000000000000..0bbb64d68366066fa8c98a0b4d25754df39a605e
GIT binary patch
literal 1016
zcmb<-^>JfjWMqH=Mg}_u1P><4z_0^J&;cy$z`zMq8S2sb)T6WZ$8py$AW@HQ*B>6q
zzF!(_I2ia__<$nau3wrDFm}3rdHLY~|NkDzu3usgGlV9U=9QExB<CdNr7M)B78Pga
z=P4K(=^5x5>Ka;>f@O`twupd91_s8eAO^+?0Y+&ac8&=^x5xm+K^O!~L4+fpKpT@Y
zFIxdn0f>(SxC6ym7(V{TCe6&igdr>d6cIua2ipY{Q-G=j=|It?SCU#$!l0L&pPQSS
zSHh515?@?Wl#`mrpqH0llB(zK7phxal9-&$pqG<VmK&d#k^=O7I)h$OYEGhFYDRoo
zQDSZ?LYrPPgC5X;lEfq+U6~7_sRDw5rZ8hMDF7PJ$!Ky&(GQjZ@j;jkO`QXj4+|%l
zG$<UA0XvWb(r<t)2xON+`RZumF#BP&6i^<<MpilpnS;beS8EH=Uw{&KK(Pf-Jr+<J
zMxm!EkUR@a5{b5eS|kA#1L<Q0VwirIxE4^1+2?;gkZJ&8IDmyeOaP`2-Tl!(1?X-E
U>A3;bm;j|g`atmvGY4ir05JGl3;+NC

literal 0
HcmV?d00001

diff --git a/ft_substr.c b/ft_substr.c
new file mode 100644
index 0000000..c945549
--- /dev/null
+++ b/ft_substr.c
@@ -0,0 +1,39 @@
+/* ************************************************************************** */
+/*                                                                            */
+/*                                                        :::      ::::::::   */
+/*   ft_substr.c                                        :+:      :+:    :+:   */
+/*                                                    +:+ +:+         +:+     */
+/*   By: adjoly <adjoly@student.42.fr>              +#+  +:+       +#+        */
+/*                                                +#+#+#+#+#+   +#+           */
+/*   Created: 2023/11/02 17:59:58 by adjoly            #+#    #+#             */
+/*   Updated: 2023/11/03 09:56:01 by adjoly           ###   ########.fr       */
+/*                                                                            */
+/* ************************************************************************** */
+
+#include "libft.h"
+
+char	*ft_substr(char const *s, unsigned int start, size_t len)
+{
+	size_t	i;
+	char	*result;
+
+	i = 0;
+	if (s == NULL || len == 0)
+		return (NULL);
+	if (start >= ft_strlen(s))
+	{
+		result = malloc(1);
+		result[0] = '\0';
+		return (result);
+	}
+	result = malloc(len * sizeof(char));
+	if (result == NULL)
+		return (NULL);
+	while (i < len && s[start + i])
+	{
+		result[i] = s[start + i];
+		i++;
+	}
+	result[i] = '\0';
+	return (result);
+}
diff --git a/ft_substr.o b/ft_substr.o
new file mode 100644
index 0000000000000000000000000000000000000000..94c2f1107fce36e1079b0195b776c1a95171ea6a
GIT binary patch
literal 1472
zcmb`GL2DC16vt<~X^q;tK`ICe1}~!6rO}H)kcg}uB=I1`TZx-wTZ_9Jn`}xeM8&nz
zZ7#hCf*-(s3Qbj-9&^kw7tuft@s@)S-`mV=$8CD^!S1~Iz5jdjW@h)5mcBnBNran3
z?vTS7r-Y<r!S~%1IR(lr^?p#dm!e*+?^S!$%XVl}Yomg?wLVeao*ua!qHNBf+tdaa
z?RMc+*C0bXp!Hh+7eeao(K^hN2g;kvF#m$Bu!z=zP-`DVFhJIz`w27ZwGQ3;DTv%!
zE4<W85aM#6&a@K^dOOqE(wd5U-bY%$p6O9J(^fu5qV9kw?;8-^)|$JLvN?&V*Z$RQ
z&qn<opxBo0wyE2Yprv;A<8V0SvHeIi=oQ$2y5Cca-$*uJwVi6bVCwdAe9b6VR!Vj}
zaYLO~6LX1V)sNmJv#=zZ^x_eb)??Cz=@Zc%IE{<I@Ig!9>D)aNdpB`!W=g&;fyC$I
zUW))D<o9q~OePaY@FgIzBb1PHz|IPKzXxECkI_G1H6k$LC-esn2(2h^JY&wiV|bi#
z>{RSlo+N77Fm=^2)*Yf2N|t5V4q0+?m1@4?lzq=Bn}$tPyW|+^!o%!b#nB7Th-#W^
zR!%P#;R=>n72|1csjOQDv2@cc6%OmD1)@SZN6*8!Vd3~+Yz3+azgAH5E8FBoKt@jZ
z-<$%B3`fyYY{Kt{$HI4txp+5Wd&1VIEN~J=MEncGUk7a(9;`8s6TwzlqgMomF2lii
zRbZm@0~d;Lj5a-D&sn>Hn&;mN$jIUSbG!h~xc%?4f_$I2e>`KJ&v_D<oF0~7cnwcr
f4VKUQ!hE#wwpM|0jW1xY78CBUIZp9A39tVb*52BP

literal 0
HcmV?d00001

diff --git a/ft_tolower.c b/ft_tolower.c
new file mode 100644
index 0000000..56bb63e
--- /dev/null
+++ b/ft_tolower.c
@@ -0,0 +1,18 @@
+/* ************************************************************************** */
+/*                                                                            */
+/*                                                        :::      ::::::::   */
+/*   ft_tolower.c                                       :+:      :+:    :+:   */
+/*                                                    +:+ +:+         +:+     */
+/*   By: adjoly <adjoly@student.42.fr>              +#+  +:+       +#+        */
+/*                                                +#+#+#+#+#+   +#+           */
+/*   Created: 2023/10/31 17:15:28 by adjoly            #+#    #+#             */
+/*   Updated: 2023/10/31 17:26:10 by adjoly           ###   ########.fr       */
+/*                                                                            */
+/* ************************************************************************** */
+
+int	ft_tolower(int c)
+{
+	if (c >= 'A' && c <= 'Z')
+		return (c + 32);
+	return (c);
+}
diff --git a/ft_tolower.o b/ft_tolower.o
new file mode 100644
index 0000000000000000000000000000000000000000..9fde8fe5784afbb5152326a35d0b549157037a0b
GIT binary patch
literal 1016
zcmb_bJ4*vW5S~jkD)<OuA!u=(g=8^mku)JeqA7xikVXjc64wXbLoS>6fS?c%f`axo
z{tQdOKj9y+u(V4d#F@*kuBUbm?0qxe%(t_*b9bIEu0{+4lo^nLuSl@~4;q;b=q!w2
zWvS44>9o4-RyQ|sJ&g(UwkB@I(Ywlb+mB`^|Na{5N9bPV-^))>sy1BFFl)Bu?wL*Q
z*AG0`OfIqomP{nmjUc-eG=Zr;fN{17#!1|m866tF#k0&JPm64s9=Y-OWn^V6=3xQF
ze^>$e0eI{EmX1Q?2OURdQsaYO$eFT|6yH=#@Dl;7<~a^`1?-B7@NDmx`@mdJaJIHy
zO4Nl_I|OFiO{Ze*?BM(F0rR<SF}`2f^(}{MI#vT#7rwBnh^G$WKUfL(i2kzAhMY4G
z<+Sk!8H#DqXm!iVK;4td(LL%mgaPRnbP|0b<GB#8`YW8lyz=$ZJ3Y|+aBZfqKl(O1
z<nE;=B~d~6n@VG1KqWOy$wu@mkdbasBE^cIM?YHZc?cJ{K26=fB2?e-`O8=kK09fi
PrEps!>1fVsAJzW@fg@T7

literal 0
HcmV?d00001

diff --git a/ft_toupper.c b/ft_toupper.c
new file mode 100644
index 0000000..5066e55
--- /dev/null
+++ b/ft_toupper.c
@@ -0,0 +1,18 @@
+/* ************************************************************************** */
+/*                                                                            */
+/*                                                        :::      ::::::::   */
+/*   ft_toupper.c                                       :+:      :+:    :+:   */
+/*                                                    +:+ +:+         +:+     */
+/*   By: adjoly <adjoly@student.42.fr>              +#+  +:+       +#+        */
+/*                                                +#+#+#+#+#+   +#+           */
+/*   Created: 2023/10/31 17:15:28 by adjoly            #+#    #+#             */
+/*   Updated: 2023/10/31 17:26:15 by adjoly           ###   ########.fr       */
+/*                                                                            */
+/* ************************************************************************** */
+
+int	ft_toupper(int c)
+{
+	if (c >= 'a' && c <= 'z')
+		return (c - 32);
+	return (c);
+}
diff --git a/ft_toupper.o b/ft_toupper.o
new file mode 100644
index 0000000000000000000000000000000000000000..374dad94e7da4daa7644870bf6e21386a1cffcdb
GIT binary patch
literal 1016
zcmb_bJxc>Y5S>fn7ibd1LeSzm3(1nGMbd<bL@k1dkW%7#S)+I#;j#%Th=L#l1?_G8
z8TS4O|A3&SU5bFtTy}LmwR2$a&Agenv$u11R<5kZ3<H!IP=v2Yu>cPmSqkYAjA3PU
zz5Cof?OmMqtkm^1CeS-c-6YYwD)%m4%x<~=Iy{Kby(;&&AECP2_C(vX9m{K&9Uim}
ze9z1+uq?}Ea)ox7T@0JR)BwOZ*#hGzZOn|1jNal|W|5~wwnUHRWco6;GBNC90mXmV
zI`Rp4d;cvRhu9A~jm)IRhrN(9WhE)TshHqL0+{W)F82iNiJI`+%_a|kdA{ImZKIlL
z3ClhN<~SX<X4UKX{taLOcPz&DYkPs^a!to<U@Z{{YZvj@CHx1g;vVr|_Suwk=8>E>
z{xCx^EgG$EB^juDQaQRu-9|7VeO4#Y7c!oU@T$MU8O$qRFTK+P&5za=2m0o>*&%l?
zHF=2&qTf^j6A6{nFfSX?uRun+A&C?#ejfdJ<=sa($MtFI{uQD6M$f;E1<|vU=1B^7
NB$AHitoBj;KL83%T6O>c

literal 0
HcmV?d00001

diff --git a/libft.a b/libft.a
new file mode 100644
index 0000000000000000000000000000000000000000..7df37533ec6fe67e30658a6c1416403bb188914a
GIT binary patch
literal 19486
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
T_-&*-!kitc364>Z8%F&fKeM2B

literal 0
HcmV?d00001

diff --git a/libft.h b/libft.h
new file mode 100644
index 0000000..233bd10
--- /dev/null
+++ b/libft.h
@@ -0,0 +1,40 @@
+/* ************************************************************************** */
+/*                                                                            */
+/*                                                        :::      ::::::::   */
+/*   libft.h                                            :+:      :+:    :+:   */
+/*                                                    +:+ +:+         +:+     */
+/*   By: adjoly <adjoly@student.42.fr>              +#+  +:+       +#+        */
+/*                                                +#+#+#+#+#+   +#+           */
+/*   Created: 2023/11/01 10:06:03 by adjoly            #+#    #+#             */
+/*   Updated: 2023/11/03 15:57:10 by adjoly           ###   ########.fr       */
+/*                                                                            */
+/* ************************************************************************** */
+
+#ifndef LIBFT_H
+# define LIBFT_H
+
+# include <stddef.h>
+# include <stdlib.h>
+# include <unistd.h>
+
+int		ft_atoi(const char	*nptr);
+void	*ft_calloc(size_t nmemb, size_t size);
+int		ft_isalnum(int c);
+int		ft_isalpha(int c);
+int		ft_isascii(int c);
+int		ft_isdigit(int c);
+void	ft_bzero(void *s, size_t n);
+void	*ft_memset(void *s, int c, size_t n);
+void	*ft_memmove(void *dest, const void *src, size_t n);
+void	*ft_memcpy(void *dest, const void *src, size_t n);
+void	ft_putchar_fd(char c, int fd);
+void	ft_putnbr_fd(int n, int fd);
+void	ft_putstr_fd(char *s, int fd);
+char	*ft_strchr(const char *s, int c);
+size_t	ft_strlcpy(char	*dst, const char	*src, size_t	size);
+size_t	ft_strlen(const char *s);
+char	*ft_substr(char const *s, unsigned int start, size_t len);
+int		ft_tolower(int c);
+int		ft_toupper(int c);
+
+#endif
\ No newline at end of file