From 6c4b2222afd37724cebc2aabaf8f04a357918ace Mon Sep 17 00:00:00 2001 From: Adam Joly 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 +#+ +:+ +#+ # +# +#+#+#+#+#+ +#+ # +# 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 +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* 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$~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!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-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 +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* 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;PZfEX4vmYh)p&3ow9@w$*yF zu3k*5b^c+sqF3t%@y345zduuyb@gEG-Gg0%U~b@f+!s(5MUQ)R9&4pD z9tObtKybFPZRhI3agTvjs|~N{930^ADzXSaES5vZPw= z-KExv+>2Vmr>#ru>A{;gLR|{dP;*wkffJ0Q0ZztcQ3}{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 +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* 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 +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* 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 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{~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 +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* 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!Ry|&l>L +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* 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 zJMy}+_nz7`z zNQh)SnQD!@J0!Hc|reWwNCT7#o#ouC5ibqGe~1Fk@XwfYEZryzgA!`rgn^zghtBhBO7Eq!tquH36lPy82CZ-?Bo^z2Gx@cvUN zYy`OJ!d +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* 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&KfgSeNAsnow$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+JW?e~1FE;h(Y2k$h*<(^H<`?TA{8 zphuUHHQf`n#XYJaK85fnR1$MX)*Bw4_9u*CpK?|Dq!vo<)ut!@^QpH(?pb +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* 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 +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* 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 +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* 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=%LGi&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 +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* 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;{*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 +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* 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@IULBeCc_U0C%%b17#uGx$B@@@0j+6j)wvi+Mez4vYoYkd86*!kQI`fB!x(WlI#k2xWV<-n6cwozT=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@rnDI 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 +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* 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(?O~i+ z8sJHvz&Q8-M$CMB(shgBn(Fh^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;HAZB`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 +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* 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 +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* 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 +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* 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;+UyE5E1v6!<+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 +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* 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=9QExBKa;>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-&$pqGA3;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 +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* 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-YD)aNdpB`!W=g&;fyC$I zUW))D{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 +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* 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)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(F0rR1fVsAJzW@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 +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* 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(1nGMbdcPmSqkYAjA3PU 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<~SXE> 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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 @;nx4t+<)mO`VSk6ywLH!+s$8` zVR??|TO2!>`aeNr;b9gXon^+8OhncL`}xDofNSe@_80AMi|DLB3_{-w(OG}nQ>+$e zVkK*ZUrtvk8TzB4AQ;#M`v?XOxAqq?mcw8m=86;RbX!D=(S?BL*6{3_{YCkxHtZTz zp6P~oj6I~c8|H|=l1Jwp!5p*5x@fKe{mf_0p)4i+TWDW}jd0bxphuBH@ zgZdxGS-{W#@Y=8Xtu$!Frv6_0Rd2AIpZ|e!w>69S5BOO{fd3F?ze?<{g;^eHQ-81h zstOBcIEI{u|Dpd(hM^?D*@X4~4xsiv5Ql50dn(EQEI{kf2dK77Ut9cF$_?O=HA zMCkAN!>m!TPvcyp=(dQ4eHwGz6G`EB5CP){m+ZU5D2-rZiu?H~+7@ACp_Ki{Kw-TV zdjxC{!YGxYzF_Q`LG~p^i~@6v16x4z!Wgl$RAbs2vTk!U#SO_E4ZE+B=LY>S>Sp3I z`vg(JIIgA^nY`bi5~4NjtDIyBKa9GE_}u#ckW2qzV_EBnT~NQ<8fk>(MPILdl|GVh 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 +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* 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 +# include +# include + +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