From 8c6fb844729281d0ef7e57c0a00d812be5979c9a Mon Sep 17 00:00:00 2001 From: cubernetes Date: Fri, 2 Jun 2023 18:56:20 +0200 Subject: [PATCH] ALMOST ALL --- Makefile | 91 ++++++++++++++++++++++++++++++++++++++++++++++ a.out | Bin 0 -> 15912 bytes ft_atoi.c | 31 ++++++++++++++++ ft_atoi.o | Bin 0 -> 1592 bytes ft_bzero.c | 19 ++++++++++ ft_bzero.o | Bin 0 -> 1264 bytes ft_calloc.c | 37 +++++++++++++++++++ ft_calloc.o | Bin 0 -> 1584 bytes ft_isalnum.o | Bin 0 -> 1280 bytes ft_isalpha.o | Bin 0 -> 1272 bytes ft_isascii.o | Bin 0 -> 1256 bytes ft_isdigit.o | Bin 0 -> 1256 bytes ft_isprint.o | Bin 0 -> 1256 bytes ft_isspace.c | 21 +++++++++++ ft_isspace.o | Bin 0 -> 1280 bytes ft_itoa.c | 0 ft_lstadd_back.c | 0 ft_lstadd_front.c | 0 ft_lstclear | 0 ft_lstdelone.c | 0 ft_lstiter.c | 0 ft_lstlast.c | 0 ft_lstmap.c | 0 ft_lstnew.c | 0 ft_lstsize.c | 0 ft_memchr.c | 24 ++++++++++++ ft_memchr.o | Bin 0 -> 1296 bytes ft_memcmp.c | 28 ++++++++++++++ ft_memcmp.o | Bin 0 -> 1352 bytes ft_memcpy.c | 27 ++++++++++++++ ft_memcpy.o | Bin 0 -> 1320 bytes ft_memmove.c | 32 ++++++++++++++++ ft_memmove.o | Bin 0 -> 1384 bytes ft_memset.c | 23 ++++++++++++ ft_memset.o | Bin 0 -> 1280 bytes ft_putchar_fd.c | 0 ft_putendl_fd.c | 0 ft_putnbr_fd.c | 0 ft_putstr_fd.c | 0 ft_split.c | 0 ft_strchr.c | 22 +++++++++++ ft_strchr.o | Bin 0 -> 1312 bytes ft_strdup.c | 29 +++++++++++++++ ft_strdup.o | Bin 0 -> 1560 bytes ft_striteri.c | 0 ft_strjoin.c | 27 ++++++++++++++ ft_strlcat.c | 68 ++++++++++++++++++++++++++++++++++ ft_strlcat.o | Bin 0 -> 1504 bytes ft_strlcpy.c | 29 +++++++++++++++ ft_strlcpy.o | Bin 0 -> 1368 bytes ft_strlen.o | Bin 0 -> 1264 bytes ft_strmapi.c | 0 ft_strncmp.c | 34 +++++++++++++++++ ft_strncmp.o | Bin 0 -> 1424 bytes ft_strnstr.c | 38 +++++++++++++++++++ ft_strnstr.o | Bin 0 -> 1688 bytes ft_strrchr.c | 24 ++++++++++++ ft_strrchr.o | Bin 0 -> 1312 bytes ft_strtrim.c | 0 ft_substr.c | 43 ++++++++++++++++++++++ ft_substr.o | Bin 0 -> 1696 bytes ft_tolower.c | 18 +++++++++ ft_tolower.o | Bin 0 -> 1256 bytes ft_toupper.c | 18 +++++++++ ft_toupper.o | Bin 0 -> 1256 bytes libft.a | Bin 0 -> 36246 bytes libft.h | 50 +++++++++++++++++++++++++ libft.so | Bin 0 -> 15776 bytes 68 files changed, 733 insertions(+) create mode 100644 Makefile create mode 100755 a.out 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_calloc.o create mode 100644 ft_isalnum.o create mode 100644 ft_isalpha.o create mode 100644 ft_isascii.o create mode 100644 ft_isdigit.o create mode 100644 ft_isprint.o create mode 100644 ft_isspace.c create mode 100644 ft_isspace.o create mode 100644 ft_itoa.c create mode 100644 ft_lstadd_back.c create mode 100644 ft_lstadd_front.c create mode 100644 ft_lstclear create mode 100644 ft_lstdelone.c create mode 100644 ft_lstiter.c create mode 100644 ft_lstlast.c create mode 100644 ft_lstmap.c create mode 100644 ft_lstnew.c create mode 100644 ft_lstsize.c create mode 100644 ft_memchr.c create mode 100644 ft_memchr.o create mode 100644 ft_memcmp.c create mode 100644 ft_memcmp.o create mode 100644 ft_memcpy.c create mode 100644 ft_memcpy.o create mode 100644 ft_memmove.c create mode 100644 ft_memmove.o create mode 100644 ft_memset.c create mode 100644 ft_memset.o create mode 100644 ft_putchar_fd.c create mode 100644 ft_putendl_fd.c create mode 100644 ft_putnbr_fd.c create mode 100644 ft_putstr_fd.c create mode 100644 ft_split.c create mode 100644 ft_strchr.c create mode 100644 ft_strchr.o create mode 100644 ft_strdup.c create mode 100644 ft_strdup.o create mode 100644 ft_striteri.c create mode 100644 ft_strjoin.c create mode 100644 ft_strlcat.c create mode 100644 ft_strlcat.o create mode 100644 ft_strlcpy.c create mode 100644 ft_strlcpy.o create mode 100644 ft_strlen.o create mode 100644 ft_strmapi.c create mode 100644 ft_strncmp.c create mode 100644 ft_strncmp.o create mode 100644 ft_strnstr.c create mode 100644 ft_strnstr.o create mode 100644 ft_strrchr.c create mode 100644 ft_strrchr.o create mode 100644 ft_strtrim.c 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 create mode 100755 libft.so diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..b55e0c2 --- /dev/null +++ b/Makefile @@ -0,0 +1,91 @@ +CC = cc +CFLAGS = -Wall -Wextra -Werror +LDFLAGS = +AR = ar rcs +RM = /bin/rm -f + +NAME = libft.a +OBJDIR = . +SRCDIR = . +INCDIR = . + +unexport _SRC +_SRC += ft_atoi.c +_SRC += ft_bzero.c +_SRC += ft_calloc.c +_SRC += ft_isalnum.c +_SRC += ft_isalpha.c +_SRC += ft_isascii.c +_SRC += ft_isdigit.c +_SRC += ft_isprint.c +_SRC += ft_isspace.c +_SRC += ft_memchr.c +_SRC += ft_memcmp.c +_SRC += ft_memcpy.c +_SRC += ft_memmove.c +_SRC += ft_memset.c +_SRC += ft_strchr.c +_SRC += ft_strdup.c +_SRC += ft_strlcat.c +_SRC += ft_strlcpy.c +_SRC += ft_strlen.c +_SRC += ft_strncmp.c +_SRC += ft_strnstr.c +_SRC += ft_strrchr.c +_SRC += ft_tolower.c +_SRC += ft_toupper.c +# _SRC += ft_putchar_fd.c +# _SRC += ft_putendl_fd.c +# _SRC += ft_putnbr_fd.c +# _SRC += ft_putstr_fd.c + +# _SRC += ft_itoa.c +# _SRC += ft_strtrim.c +_SRC += ft_substr.c +# _SRC += ft_strjoin.c +# _SRC += ft_split.c +# _SRC += ft_striteri.c +# _SRC += ft_strmapi.c + +# _SRC += ft_lstadd_back.c +# _SRC += ft_lstadd_front.c +# _SRC += ft_lstclear +# _SRC += ft_lstdelone.c +# _SRC += ft_lstiter.c +# _SRC += ft_lstlast.c +# _SRC += ft_lstmap.c +# _SRC += ft_lstnew.c +# _SRC += ft_lstsize.c + +unexport _DEPS +_DEPS += libft.h + +_OBJ = $(_SRC:.c=.o) + +OBJ = $(addprefix $(OBJDIR)/,$(_OBJ)) +SRC = $(addprefix $(SRCDIR)/,$(_SRC)) +DEPS = $(addprefix $(INCDIR)/,$(_DEPS)) + +so: + $(CC) -nostartfiles -fPIC $(CFLAGS) $(SRC) + gcc -nostartfiles -shared -o libft.so $(OBJ) + +all: $(NAME) + +$(NAME): $(OBJ) + $(AR) $@ $^ + +$(OBJDIR)/%.o: %c $(DEPS) + $(CC) $(CFLAGS) -c -o $@ -I$(INCDIR) $< + +clean: + $(RM) $(OBJ) + +fclean: clean + $(RM) $(NAME) + +re: fclean all + +bonus: all + +.PHONY: re fclean clean all bonus diff --git a/a.out b/a.out new file mode 100755 index 0000000000000000000000000000000000000000..5596abdc58a05d3334dbfe4666edbf2d0db0aa68 GIT binary patch literal 15912 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 literal 0 HcmV?d00001 diff --git a/ft_atoi.c b/ft_atoi.c new file mode 100644 index 0000000..ea6e9a3 --- /dev/null +++ b/ft_atoi.c @@ -0,0 +1,31 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_atoi.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: tosuman +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2023/05/22 17:28:18 by tosuman #+# #+# */ +/* Updated: 2023/05/22 17:28:18 by tosuman ### ########.fr */ +/* */ +/* ************************************************************************** */ + +int ft_isspace(int c); +int ft_isdigit(int c); + +int ft_atoi(const char *nptr) +{ + int res; + int sign; + + while (ft_isspace(*nptr++)) + ; + sign = 1; + if (*--nptr == '+' || *nptr == '-') + if (*nptr++ == '-') + sign = -1; + res = 0; + while (ft_isdigit(*nptr)) + res = res * 10 + *nptr++ - '0'; + return (sign * res); +} diff --git a/ft_atoi.o b/ft_atoi.o new file mode 100644 index 0000000000000000000000000000000000000000..a66baf133cedc8af8bbbb99bbd95ba7f6a47a1c8 GIT binary patch literal 1592 zcmbtTL2DCH5Pol48?~)T)kCo&iw9}ZJd)IdmLid`b`cQ~a+I=3w{5VSgxwct1yKl! zOAzuSyz51elF~!;)}J7Vu%H(Y!X65BX7k1->x!TQZ)fJ4`DPw7Z=V=z0`uiPZu;dQ{f?#I_xyf<$3)is?$~YVy&M`QU$27)! zh>>vR)2z;_0Dp9!@$C$sn@Sz;LhwA`cu?Nr=jN%*bFDNzp}m0&1d;{oj%2{(!S}xoXKqO;pK3UGu!ARka7^T5Y2yspLgv;B4?j>w=BF z8p3gggzE~&=QQ-B7!%%(BdrQ(=??TJS+2ch32ARjCe|!zF;Ve6CaMj`vFm`<8`2iA zqpT;b>O6 zKsM!|o=E}|a&H5cf-~}lz@Jt8_`PU;kP=A+zL*;4n~HyJkoM~v=Rbf*(*ByNAnghF yhg{+lp41zgJyrd?=z!pVjXR3-PbeJJh-6g%g%R}kS +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2023/05/11 11:55:27 by tosuman #+# #+# */ +/* Updated: 2023/05/11 11:55:28 by tosuman ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include + +void ft_bzero(void *s, size_t n) +{ + while (n--) + *(char *) s++ = (unsigned char) 0; +} diff --git a/ft_bzero.o b/ft_bzero.o new file mode 100644 index 0000000000000000000000000000000000000000..748546e3f90fa808cba392d83b2282879ecd619e GIT binary patch literal 1264 zcmbVLO-my|5Uq}`pYam~!99#8SI{Pj3hF^3Avy;U5dvPsoy1W=Ckc}ds34vcgDCk) z0m0wl#gmtK%gwEdU1QT^FBVi+y;t?BJKd9;?Dl3%2w)Si4&R7bfTlsF+jJV@FbFxf z_U6{ETW+n|d>?TivMu*jeN|6X7SqrhD6{zSipp&#;xrtT}(Sc5-u0a#1E_ z(n%#!i;1PwD$eajchG;KV++JUG>Bsp8uM``bU|G0fw&kI)A8QEIu?H;PfnJiWn*~s zE|wYU39y0ie~jjK!^dZ*a#x3&iDToq!MFD!@v%D0U-@B47NV4BhZeM$_BNnJRxShO zqv$k0Fc zquIk2b|l%?`%e-uOw$oFhFK^5 Ny>2{-I=>QI{|^=fUv>Zh literal 0 HcmV?d00001 diff --git a/ft_calloc.c b/ft_calloc.c new file mode 100644 index 0000000..8f17e0f --- /dev/null +++ b/ft_calloc.c @@ -0,0 +1,37 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_calloc.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: tosuman +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2023/05/22 17:39:55 by tosuman #+# #+# */ +/* Updated: 2023/05/22 17:39:56 by tosuman ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include +#include + +void ft_bzero(void *s, size_t n); + +void *ft_calloc(size_t nmemb, size_t size) +{ + void *ret; + void *empty; + + if (nmemb * size == 0) + { + empty = malloc(0); + if (!empty) + return (0); + return (empty); + } + if (UINT_MAX / nmemb < size) + return (0); + ret = malloc(nmemb * size); + if (!ret) + return (0); + ft_bzero(ret, nmemb * size); + return (ret); +} diff --git a/ft_calloc.o b/ft_calloc.o new file mode 100644 index 0000000000000000000000000000000000000000..91213ea19535def36b3b43602b63bf116c0acbd2 GIT binary patch literal 1584 zcmbtTO=}Zj5S~qI<42=W1ciz&B7Q)9Nm375L84*pi--rI$5J-y)5d!rPPX-j~OgfWnmhD9cCNuNQGc(J~n`hR;`x(Ok5d-eP zFcK7?n;H7$zFUSIOv1d5zU$2&rj9l`ItttRmDSNF-dSz^Vkf-#ftVfo(UH~Dn;Sg{ zv)dH!I>_wpE^P0iyzeu9g&lp{YWqyMH*6JsmL6T~(H-=-5TkrVzpJCKTF4lF`2=&7 z%B*>H?$P`;vpA!Qs%Vx9rJ2Hw(k+?^Fpg@X9zsPHWWd-VOvK<=c5<2%#`qD`4&xre0X-AFuz4(+il09%unqB%Z_mTKkcoMrqn z<6|6)`6f=nCg)FMo_hXkeGzM^X8|=XGGG1!l9TyjXE7nZaLE3S2Qfd%eSoc|@+ zJ`j&k;Ear08MJ`yaeXuT))>0z= z=o=Q7F;7mGrJr{T$uE)o{A>doh~Hy0HwL$VrU zB}8Pd%>k`9v|<1iG(GJcA!`2)s}gDVLW4SXv;*oW2tZZpp6AvuSF3AR;kwoX?NmN7 zKdm*?xnDnbecc4*yJwDatA{7PVWo5{k{<0@mW_|Gho(E7q9zGQZga z?4y~ce!%)IMgdd*0SolM%1Hy`XTIoj=8qBSo}!ohw6jMN)|W>F;0YqVk*TM-=G&2^ a%=#BZLdNNF<|#(g^jF+?I_|s+O#MHt{9v&F literal 0 HcmV?d00001 diff --git a/ft_isalpha.o b/ft_isalpha.o new file mode 100644 index 0000000000000000000000000000000000000000..dcf3c8c4e058c73fa363a5ef9ab743369467ba7f GIT binary patch literal 1272 zcmbVLJ4*vW5T1*V_=pn4LW#v$sh~?93Th!IA!;EOLLiNpGoD5?5AIfof?5cI+W2!U zBR2jF8!Icj6oSs2JLkE?#(~*yzM1)Em)*O|+{S9eFo4Z~W%yy71!#qmmY=pD2K|s< zzj?hm|G3M2Ts@mtt>VQnhi8}32NJz?Jy8GSOW*brtYx!H=G59|e%efBL`tO0bTXYu z&ZQUqnE;)LCVCe-wm}4pCgs=+#rZfRs$iULfzgN?iCDDf9*g6cCnpoMtPIAlBiVuO zLu?@ahtb?lc>ioy?r3u}gV;D6%KLkfcwg=udiHU>Y>QHe@LW>`5k&I9gm+qz_AUrd zy5CslNIDG(V$YT~h+WSEQL0rcP8D<2nsfwS*Q_V)(vji^)e}*7Yjww!ryyMC*cMKC zXWz9ePO#g*g9Iw+uDZ1emg2!ZD9-Q2?GqSKu7eW_s~Tsj>nE{5@AzN+3~Fg+5t zaf8B!I_Rk4y@+&9)^ony-Xv+!f>!ibfIdWeBVA8(^|vEQLG3?ABxEWbWQH(mr>B3P L?BE-MRo8z3%#U1x literal 0 HcmV?d00001 diff --git a/ft_isascii.o b/ft_isascii.o new file mode 100644 index 0000000000000000000000000000000000000000..0e03552f87f18a921ba1aa41cee287b5e0a6e63d GIT binary patch literal 1256 zcmbVLJ4*vW5T1*9_((z&3ndn3rGhSbD5!-*f|^1sgn)$-FY)p~^WbiUD1-=tVCPS< zOey$V1i{K)(3xcST$k8nV0LD{`M#ZH_pZBlxbHIzkY>OR{8kbLcvrwoAI?A+rXZht ze0%JC-FLpA9l^ER4fTln5$F-?>=h2O*==+A;3&UhCetj*l4dHAN+;G+TSV}qo9F>_ zr~2BRG_;^ENv6E+tRCnsB^Wj7jo@MR;xQzTIRkI}w<`1~H$ z9vgBKQ6$bNcz+g&%e+u?Ew@ywv652AeNB=0Fp_)5+?zVLiojg%3}RJg+-`GV7Z$gG z6{xZ%n>KP1M=|-sPhI~^VzkXc@K#-af*ty=G9F`)RK-E(1U`Y0 z&MEa0A2ypL@3f$u_g8>PjPypjp7zz>jwCrTf1V1(1neQxm<`k431Y=#4ia7e1EgbA AGXMYp literal 0 HcmV?d00001 diff --git a/ft_isdigit.o b/ft_isdigit.o new file mode 100644 index 0000000000000000000000000000000000000000..bfc0bfbd0aedecf14efc78dbec276e17deace4b1 GIT binary patch literal 1256 zcmbVKK}!Nr5S}&D%94r>g&j5sDyWxQL3Id2EDzBk5W0kIx~Y^JyDzAq5`v&xKc!>G zqCe6l2s(8aYDV8|+rusm%$u2SzHerEZ?7|38v(-rHUrk+r(zV~-3O*xa0>b%0=ewn z+uddJ=CV0|HGt>Jb@-8}AKj0{dVY=Uy})KVy=qQxZs%sq#DYkOgqe&d7vhV_6$m29 zMDIpN0tCQ#B8<&YHLo904dY@5jI%)_)*tS<$L2WV?`#COQ zgLCFkZ1@Xbu5&Zk3#0#fd#oGiWcqjM|Lh)eXr``zATio@alNm+g9 zsKR?O(s#0+@lLx*@=gcZe(MD2!$@zW>uIk3b|lHF{bN-4Ou-&9gjpwjLlH|Jvz_Sr EZ&eUg_5c6? literal 0 HcmV?d00001 diff --git a/ft_isprint.o b/ft_isprint.o new file mode 100644 index 0000000000000000000000000000000000000000..6a2f7b930c59a7180443706be971833c10b266f5 GIT binary patch literal 1256 zcmbVKJxc>Y5S@$B_!(3zln9<6sGv&{71TmbLX3r22!f5oGhU2nKDb*!1vMZDcK#Gg zOT|B8BLuAM1)WKD&T}~%2WDsH&3iM)?pd@<^ci52LwJ z`1lHIw}sq99EpPgyt#|SMVUYHYVJ`*ib9~^xu!}Y7|DGT-g#Nt`yf2&wql7h>6}Rr z2e!09?0X)FLbY6WDu`98(h+!Fv!1jI$ErT8oQj%TtvRkd2jMy=ws1=MqHC8Of7`#4 z1S;vSI +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2023/05/22 17:38:55 by tosuman #+# #+# */ +/* Updated: 2023/05/22 17:39:02 by tosuman ### ########.fr */ +/* */ +/* ************************************************************************** */ + +int ft_isspace(int c) +{ + return (c == ' ' + || c == '\n' + || c == '\r' + || c == '\t' + || c == '\f' + || c == '\v'); +} diff --git a/ft_isspace.o b/ft_isspace.o new file mode 100644 index 0000000000000000000000000000000000000000..e96eb9c3a712b5203a414d2f7387a5ab21f808d7 GIT binary patch literal 1280 zcmbVL&o2W}5S}esr37&x6z`-5|s#vMB?Tm@u&1C zaq*8hIk`)i+0N8@*^`&d`{tXOZ{Ewi-J9a(TFkOQmIW*D%Or{z`}OmIn}-zi!p_FS z`@{9u-SwBP$8qn`Be?hJA>5NXg?mcJaqqoIG^y`LSCiCxudrSyEZbA-TRYQsc1~qg z*3M;ebD8c_&NP&_z`#K(I7)c5O7$yKEgk-j!NG~UpN0hHgU zXy*`7do4T>PrH{I)RChdP=~$`s#L2~+$zSZHSH=K*Q~Fd(i!t|^+MIXTHW<@1C-~U zJIX!TKlYr8E4TPRrcp|>iW@ER%-eHdF7GAf6X;N^LjsHqg9|nFlbE1){I7lnwbV0% z7G83`d^?hp^92_$A->cQK7~ohH*1TSOQ8LEd*sioG4Ex5vwK)aJx%=^>lYaXO#Ln< z=)cNK0pl%SbcA^lk?tvaiAS9sNLYUm5P%*;dLvU$ea*Kc$pPy}iG&u1+mS)^qV&&P LSZ-Ig98>=T2)|u= literal 0 HcmV?d00001 diff --git a/ft_itoa.c b/ft_itoa.c new file mode 100644 index 0000000..e69de29 diff --git a/ft_lstadd_back.c b/ft_lstadd_back.c new file mode 100644 index 0000000..e69de29 diff --git a/ft_lstadd_front.c b/ft_lstadd_front.c new file mode 100644 index 0000000..e69de29 diff --git a/ft_lstclear b/ft_lstclear new file mode 100644 index 0000000..e69de29 diff --git a/ft_lstdelone.c b/ft_lstdelone.c new file mode 100644 index 0000000..e69de29 diff --git a/ft_lstiter.c b/ft_lstiter.c new file mode 100644 index 0000000..e69de29 diff --git a/ft_lstlast.c b/ft_lstlast.c new file mode 100644 index 0000000..e69de29 diff --git a/ft_lstmap.c b/ft_lstmap.c new file mode 100644 index 0000000..e69de29 diff --git a/ft_lstnew.c b/ft_lstnew.c new file mode 100644 index 0000000..e69de29 diff --git a/ft_lstsize.c b/ft_lstsize.c new file mode 100644 index 0000000..e69de29 diff --git a/ft_memchr.c b/ft_memchr.c new file mode 100644 index 0000000..2689fc9 --- /dev/null +++ b/ft_memchr.c @@ -0,0 +1,24 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_memchr.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: tosuman +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2023/05/22 16:34:06 by tosuman #+# #+# */ +/* Updated: 2023/05/22 16:34:06 by tosuman ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include + +void *ft_memchr(const void *s, int c, size_t n) +{ + unsigned char *us; + + us = (unsigned char *) s; + while (n--) + if (*us++ == (unsigned char) c) + return (--us); + return (0); +} diff --git a/ft_memchr.o b/ft_memchr.o new file mode 100644 index 0000000000000000000000000000000000000000..a940e2cc0dce32f88eba43e39a6332fb15770a38 GIT binary patch literal 1296 zcmbtTK}#D^5T3VMZH?Nr6czLkPgSswB(`9CkVuH`p%oDVy@;-HW1!tcHZKqhr3bOF zNTKvsc#@uqN5OmP(PIx00y*`To1IDCBrI;p6R3+7=;+*?cmxDJ~x9}!w&LS_DQa32f21@7PGefZ9^d2e*6ng@{OfGwU~Y6 zwFQ-06ZpKshMSJ;_@egvoW^cl!df=_CNa0Ro}W*o7G+AN66s`mG5Iq68ta4T3G@f( z*a8-a3*y*>#=M7Tx*$Gnf~d#E^yu)z?^v8co}6rx9xLPVuU2+!$a;qzL_{0S9fW^3 zQPqKnlN-avry;(x7Kw{$+jG4_$(MzG-rXCO>9|8j4j`+Co^p0ED!&^`oGG`iK<+up z0l8bPf-F=#&n+WYt|(XHF}}|KSBD^d_oE}-(st2zJeO9!pG~8j z&S=OOlhL@he~tN`xP2BA;s%(|@rQvKn)>HhpzFJfd95{-+E#=t%zz*;F^c zBaHN(tY +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2023/05/22 16:44:15 by tosuman #+# #+# */ +/* Updated: 2023/05/22 16:44:15 by tosuman ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include + +int ft_memcmp(const void *s1, const void *s2, size_t n) +{ + unsigned char *us1; + unsigned char *us2; + + us1 = (unsigned char *) s1; + us2 = (unsigned char *) s2; + if (!n) + return (0); + while (n--) + if (*us1++ != *us2++) + return (*--us1 - *--us2); + return (0); +} diff --git a/ft_memcmp.o b/ft_memcmp.o new file mode 100644 index 0000000000000000000000000000000000000000..0b597497e955c77d2005ba689e22300d748a62e7 GIT binary patch literal 1352 zcmbtTL2DCH5T3WKZPnJaB3h`22!a;$k)#UMgG9pGJ*X5R;K5S2aod93By3)w6^e(V zvZ&zS@a8Fata!=6LytN3A{2Uwx7_MC$$QEA$jJ^&X1;Icd$Vt6^VWU*$Pt2!33@;S zWLP548RYqHnx{!RPem{O?ZvxCUR*!);$qAD=puL9h`?^g+uLnX{mFNh9KQhD_C7BQ zbhcBC3BZnqom7Jsf2ix;Uf34g2Apa%0Xq!2oN64z&H01l%fKzjPP+5n?bp9{Pha^- zONGMy^v$KG#rbr0L1tw(oy+7FGIw(KXcY6)@H22UkV9ghIb%X&bN5TSAl^J9u{|y3 zCdVhfpm-HLJKHDzd3a&^y;GPPb3UMhiQ&fQj?$l#Vbzf#Z+r@k7ZZGU7K_)_Y8Zs2 zuqsP~ymvP)^O_Q?B9gV8Q2A?!D(b~elc``^k$mMVpX6GtMzT~1!=MbVTv36ZhAN#B|##$dtKDV;s5L&*y!!& zvOm=o^zxauepU}!L@jBy{yB>Lf66DDkT +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2023/05/11 13:28:20 by tosuman #+# #+# */ +/* Updated: 2023/05/11 13:28:21 by tosuman ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include + +void *ft_memcpy(void *dest, const void *src, size_t n) +{ + char *d; + const char *s; + + if (!src && !dest) + return (0); + d = dest; + s = src; + while (n--) + *d++ = *s++; + return (dest); +} diff --git a/ft_memcpy.o b/ft_memcpy.o new file mode 100644 index 0000000000000000000000000000000000000000..39fc96695208dc9ce567e68a08a229be0eebd6bc GIT binary patch literal 1320 zcmbtT&ubGw6n?Y)5r4Eb7D1s3@nj2jNKys$AknyX4l1P(@KV}s+_X?P37c7HgyKOI zLkak22;RkGz=NJW_1KG0=q28AYu`)eCEH<7^}+0W-}k<6W_RE2d-uh2M+o2$@EAsj zS%7(GR2TYX0jA(GlvL}lYV94VR&=OZr33Y0?+~IHOh*u6~t~@%uS^(e8J{TwzDX>rGi6)q`iFHjN=R3IN$? z2HM-itiwUx=1Tj!8sr;KdmuL(4Upwp5cpN(sx|FPd`*iD?Ui>7-l|5j9@gr9sGA@| z|E(we?e$9N1wNhpe=&!4dPkGiHU)!+&u=i#iRHJkAa0BalfPM*q3yqe4I1Bh{ddtz zduDOPgU{!0hI@QI=lj^;nl+Sv#X+pLwJ!EjxX#QT@o(d?@5}yF*HA}$+WwyLKQNh- z?SG98`kx9cF!`&w(HjO|#7y_ee&& +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2023/05/11 16:19:10 by tosuman #+# #+# */ +/* Updated: 2023/05/11 16:19:11 by tosuman ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include +#include + +void *ft_memmove(void *dest, const void *src, size_t n) +{ + char *d; + const char *s; + + if (!src && !dest) + return (0); + d = dest; + s = src; + if (src >= dest) + while (n--) + *d++ = *s++; + else + while (n--) + *(d + n) = *(s + n); + return (dest); +} diff --git a/ft_memmove.o b/ft_memmove.o new file mode 100644 index 0000000000000000000000000000000000000000..99a0ff57543dc024e56f3b7544e661f2ecf18398 GIT binary patch literal 1384 zcmbVL&ubG=5T3WKjX!D{iwC6&>q&+BNKyrVfJDREcQ7JCz)PvyxNSf;DVtqs#o|Gf zh7j;C@Z$eaJQlo&ClL=l7DQOcCEj|gGut=m`q)zkCNuNR_sx5}*}QcgKCpxUHUW3x zuwoRTX&vU3B(1tk^%dr|;nddjW&w#is{eRDnf!h``Z<_Q_ymg|s#n92c&7M1 zwFR4&$^L~vyzmv~tJT}~mH9{Yt9EHlmSo8;7t3?S>*ZSj<9IF zzsXtM5U-zrSSyH`$=vae*t~!^IoW6WxtA||u&SpgtWU@wAlqo}IQ-qu>W*b>B9FxB z6rP+#;^lDB_k6$o%9D*$!EB;#1dyF|KXjKchQUE>au#}PA;{-$=z?78bU-%R zzVEdVYqdj9;&WZ=gl^-7u2))-Tn*Z*UJ$N>47``F^qPyyf$MvGi=)RGl+s&G7$YjW z9=(IEd0$Mwgb86|4CwgVsJS%tm$5->JgR;cwKTJco;E(8za8%J`5bRxgLCFk%=~aN zxDH}D^#68`H4ioKWqz^?nriBc`cgM(R?1BMQ|!_Is*>VR8f*PIji10s_hdceL^IDO sNmJ{eQGs?6opxmEX|B0Dgy5UjpQj>a8Xh5MFw4^OrB+7FgT&PT15Q4adjJ3c literal 0 HcmV?d00001 diff --git a/ft_memset.c b/ft_memset.c new file mode 100644 index 0000000..f07fa9f --- /dev/null +++ b/ft_memset.c @@ -0,0 +1,23 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_memset.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: tosuman +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2023/05/11 10:06:42 by tosuman #+# #+# */ +/* Updated: 2023/05/11 10:06:42 by tosuman ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include + +void *ft_memset(void *s, int c, unsigned long n) +{ + unsigned char *ptr; + + ptr = (unsigned char *) s; + while (n-- > 0) + *ptr++ = c; + return (s); +} diff --git a/ft_memset.o b/ft_memset.o new file mode 100644 index 0000000000000000000000000000000000000000..57bee774f82d6a0c2f0153e67ffc427edd4405e8 GIT binary patch literal 1280 zcmbtT&r2IY6rPFJ-%6B11$&66wor#8DzrV6ln~uRDIx@V5xd6GfNmnY6VTF9Jt$qI z(4!Z@KSk(2;L%f07KEO9%gugocV@F4_EaCdeee6;`{vEg?0%`eUCMFJjB)mw^^jo^ zbG^J0r4=^DMp@kne>vgj+pu%vg!OCZw07%+weIgpWL@Xm3J2Rgt>1jjgSZB97quN< zc79Ut+7Gr|t-dNeU4B=8Rw&Jjk|-6*#qxY{q5P7@^ur7A2XORY8~lqP>`nBT$e-k@;{%`25V6@0TDPD5xy!2dWt`MF8mCfxG>gPr zYTc7wAeCtJ^7!4TOvjr#V#Y*p;3;Wy>s!9-Nt%2=n}M9pXuw*gqH*&68dGoDW&w!n zOOwctENq~ye}V$t-~Z~LLrZHG;b}AT%{OCeX1 +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2023/05/22 16:20:31 by tosuman #+# #+# */ +/* Updated: 2023/05/22 16:20:33 by tosuman ### ########.fr */ +/* */ +/* ************************************************************************** */ + +char *ft_strchr(const char *s, int c) +{ + while (*s) + if (*s++ == (unsigned char) c) + return ((char *)--s); + if (*s == (unsigned char) c) + return ((char *) s); + else + return (0); +} diff --git a/ft_strchr.o b/ft_strchr.o new file mode 100644 index 0000000000000000000000000000000000000000..3c234fcf143e1182b55ddd9f3a78a6e76112d646 GIT binary patch literal 1312 zcmbVL&ubG=5T3VfQ)^q(icp~*)>D6=kNl`$dyq&-y9W^w0zxUxHf|cwP0H>Iq=I-* zilGSp3Hd8Z4^o2O#ec$6FA6>6rZd?$+wEgd9hf&W-+bTOw{LboRGw{GLI9h9CvaIY z3Se88d1;iEUhyj)z4yaj=i+?HIj#(yFE51Cs}8d#kUjf#T)D`e4A#GQrk#)e zP!QpKl~!zj8gzc@G|9}2NE4^@kewf}RW5JX%UjQ@D|Wsp^D=K2a)n}Ut*|~i#W=1u z`UEJvB{b8x(eiL zSGgef!VqM=?fYH}u~u7o60hlDsNDJ+UGKL#@*rp*c!4?u8F+79={0v7f$MvGxa-G7 zl+qn#j4evKt{FJbiQ)U05H`kuj(wx%($p_ugT{AV{R7m}o;mcS^>xAD4EOl?93NqW zbLLR|mMjvv$*o{-68*~Tu^yn4nddS;)g9!}o~Hf}iP0WMAzn@WE9}t!REil<($@#Q ztMMs}bWYYYp7v~#ENgv@3bdQ(G$T__`3 +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2023/05/22 19:12:24 by tosuman #+# #+# */ +/* Updated: 2023/05/22 19:15:06 by tosuman ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include + +size_t ft_strlen(const char *s); +size_t ft_strlcpy(char *dst, const char *src, size_t size); + +char *ft_strdup(const char *s) +{ + char *s2; + size_t len; + + len = ft_strlen(s); + s2 = malloc(sizeof(char) * (len + 1)); + if (!s2) + return (0); + ft_strlcpy(s2, (char *) s, len + 1); + return (s2); +} diff --git a/ft_strdup.o b/ft_strdup.o new file mode 100644 index 0000000000000000000000000000000000000000..eaca3d64d6c587b35a34bb64a773d0d1b683c15e GIT binary patch literal 1560 zcmbtTO=}Zj5T4!ErfMUx2nrQkFA_mt^5LQOAdwLJA}U45MUb#bw+7rz!tNVrgyJC} zEJg4ic=aa;UIHG(i+J=82mw9BTMj~<*}P*m>lQ&Dn9R&GU%NA#=e2uxOv3<%0k>f8 zF$?g;oZFSitUwmlpf1C&a`@en;lWrQ*2XgYFs85!YZLS*ayT+#+*A$^rqIv4rJQe< zqKub2hCIAa)l(UM`kjpK$M>*Zt!`QQ?FaR%RPM}~G zm|%>EV;I`!cRHs7#T@gwUX$+h=kw%xZSUe1sW9q=Wh{!;ho1 z=u*livzWLZvX`gUAN02x78cWhVou$ zcO*ZLW}rC);%LXr*NH?Bzk?UgE&vctD-*IiBoP7mi*H$)& zW)OgAbv@7NAlKG-8e?MacrPNyQ#!Uv{&^~q~=edrds~QE@=LW=9je3>NOh)ot%FSx)=R zJqsvt@O=KSaE#}(-ogOeoJ0Cu+=-wz&7uHJG^l5?exegL zIZ^9m{bS_Q?zf{G@}1~@RLk|ur_H8OdHteq$U&S&p&KRZPih|30zT{d@&fzkuFqmT Od3!2p>*sg>QvVCyNSBEK literal 0 HcmV?d00001 diff --git a/ft_striteri.c b/ft_striteri.c new file mode 100644 index 0000000..e69de29 diff --git a/ft_strjoin.c b/ft_strjoin.c new file mode 100644 index 0000000..973af94 --- /dev/null +++ b/ft_strjoin.c @@ -0,0 +1,27 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_strjoin.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: tosuman +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2023/05/24 13:43:29 by tosuman #+# #+# */ +/* Updated: 2023/05/24 13:43:30 by tosuman ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "libft.h" + +char *ft_strjoin(char const *s1, char const s2) +{ + size_t total_len; + char *joined_str; + + total_len = ft_strlen(s1) + ft_strlen(s2); + joined_str = ft_calloc(sizeof(char) * (total_len + 1)); + if (!joined_str) + return (0); + ft_strlcpy(joined_str, s1, total_len); + ft_strlcat(joined_str, s2, total_len); + return (joined_str); +} diff --git a/ft_strlcat.c b/ft_strlcat.c new file mode 100644 index 0000000..5be81cc --- /dev/null +++ b/ft_strlcat.c @@ -0,0 +1,68 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_strlcat.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: tosuman +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2023/05/11 16:55:00 by tosuman #+# #+# */ +/* Updated: 2023/05/11 16:55:01 by tosuman ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include + +size_t ft_strlcat(char *dst, const char *src, size_t size) +{ + size_t idx; + size_t slen; + size_t dlen; + + idx = 0; + while (dst[idx]) + ++idx; + dlen = idx; + if (dlen > size) + return (size); + slen = 0; + while (src[slen]) + dst[idx++] = src[slen++]; + return (dlen + slen); +} + +// #include +// #include +// int main() +// { +// printf("%d", ft_strlcat()); +// printf("%d", ft_strlcat()); +// return (0); +// } + +/* +Alternative implementation +size_t ft_strlcat(char *dst, const char *src, size_t size) +{ + size_t dst_len; + size_t src_len; + + if ((!dst || !src) && size == 0) + return (0); + dst_len = 0; + src_len = -1; + while (*dst++) + ++dst_len; + while (src[++src_len]) + ; + if (size <= dst_len) + return (size + src_len); + if (--dst && dst_len > size) + return (size + dst_len); + while (src_len-- && ++dst_len < size) + *dst++ = *src++; + if (dst_len-- == size) + --dst_len; + *dst = 0; + return (dst_len + src_len); +} +*/ diff --git a/ft_strlcat.o b/ft_strlcat.o new file mode 100644 index 0000000000000000000000000000000000000000..674ebad2c04785e5ba892e691560d01191ae1e0d GIT binary patch literal 1504 zcmbVL&ubGw6rM@iMr&=8BBInoJoy7%lC*+VkZ4#t2bCg3yp(nuH!avCWp@IpP&`D% zPy+ok{0qcmp`h0ubIhf%p_lcRTm0T;CS8}D`e63G_r3RhZ!$CaY`%IK=`@H zG|E^vb{^-0FwbV#6;>3jQ_yD0VrKN;dZWF4_=`c4wHj;i%qq}i-^ zd^mpzxR0)mdtY_=P&g|Ga_twGW0EXp3dFB5bN)N@FsHpbz$W_Q>yez(Tl2+Jv*R2G zn!|daUB})l!@d8;^n;=wDDacDW42N#JW1bOc~iWX&Mq2RBb&};a*LUz+%o-o*aTJ@ zYZ41>EXMc|VcNLL^<7+31^($RTEcA1rAxW7Bn+QL0rcb`@B)CT#=9_0W}8>7&ZGs&!-6sqNa1++&7g?^uSty# zimi8XalZg6oz+xCBCqn%IjEd^!*&}9Vev4C_+7M7)uZqo;B<=@ +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2023/05/11 16:55:00 by tosuman #+# #+# */ +/* Updated: 2023/05/11 16:55:01 by tosuman ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include + +size_t ft_strlcpy(char *dst, const char *src, size_t size) +{ + char *d; + size_t len; + + d = dst; + len = 0; + while (++len < size && *src) + *d++ = *src++; + if (size) + *d = 0; + while (*src && src++) + len++; + return (len - 1); +} diff --git a/ft_strlcpy.o b/ft_strlcpy.o new file mode 100644 index 0000000000000000000000000000000000000000..9d6feab38fb8a1b64d70c89dd6f9c316b786e934 GIT binary patch literal 1368 zcmbVL&uddb5S~qcYHOMn4@woDCl&0HqzY9*qT$&+sE82ArPSB>+Jemw-rGPU6c14` zl%NOymf|rWDBeBfW-da(OT6W#Gs#Z+T;8bzlbQME`(~G&m)Gv2hY2BoO~5@ksTc() zCQkC)FwMa{%t1l5eyP^Mv1-+Os#WN!Ll<+mufDkhqW!+C4huciejpI-VYjc^3iHSP zg`=hSDb;ib0?~oG>vqFA%z6t)@TOD$u9^p3&`DB!#W7RN9QE}gQC0gXj>7S8JN2K# zDa~WC@deiN`8&?F^(TevPG(hRWX8#+v#aTw+1oIQcXH6D(2)QM5FNtUgsJ%r&YOmK z^$f&*N-WRM%znh?CB(_eKGDzpWa?cae{MSQ0T~3u8_k`BKY!!86EQEJMB-8eAD%_x zZM_-lV6Rkb$Wo->xsFL_ZIRUh$gok?-WEn3jN&e5+TYh8UwGOBxfO;WOVx7OuOL>b zYG2}Wt%TYuy)^Ysr7mkhwdM!90W$FSJn8RlZU_U;gZ&qjZdiijC_j4Wanr|%o$&X_q$Z2dp!+Ka9L literal 0 HcmV?d00001 diff --git a/ft_strlen.o b/ft_strlen.o new file mode 100644 index 0000000000000000000000000000000000000000..839e175046b2f1ac758fd58ee73550178afb09c1 GIT binary patch literal 1264 zcmbVL&r2Io5S|w`sr5%~DO5-g>8UN~BZ)0k4-yG$_8?LU0WTq4}9iBFfw+k9o1Ai!y@lOosJ)94QA+P9X|*UY9zH)~xhE-qg8^|9La=XJSfH(ciwU~F zarH~6rJnXVWxjkfSQ44c7yl7iiMb?lmvIn_?OF$ODO_~_al2+71e$e$;G|^l3x;8tnj2(bFB-dg^Q69Z7b0{wo48 VV|vIu$7q!Pf(s9Zm4m?6KLB0rT&4g3 literal 0 HcmV?d00001 diff --git a/ft_strmapi.c b/ft_strmapi.c new file mode 100644 index 0000000..e69de29 diff --git a/ft_strncmp.c b/ft_strncmp.c new file mode 100644 index 0000000..ecdcfea --- /dev/null +++ b/ft_strncmp.c @@ -0,0 +1,34 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_strncmp.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: tosuman +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2023/05/22 16:29:43 by tosuman #+# #+# */ +/* Updated: 2023/05/22 16:29:44 by tosuman ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include +#include + +int ft_strncmp(const char *s1, const char *s2, size_t n) +{ + unsigned char *us1; + unsigned char *us2; + + if (!n) + return (0); + us1 = (unsigned char *) s1; + us2 = (unsigned char *) s2; + while (*us1 && *us2 && *us1 == *us2 && --n) + { + us1++; + us2++; + } + if (*us1 != *us2) + return ((*us1 - *us2 != 0) + * (-2 * (*us1 - *us2 < 0) + 1)); + return (0); +} diff --git a/ft_strncmp.o b/ft_strncmp.o new file mode 100644 index 0000000000000000000000000000000000000000..7f8c6a71950dabb887d817995a1265bb5c2953cd GIT binary patch literal 1424 zcmbVLL2DC16n>L7ji#|1iwC75>!}Iokfar=2T2KQ_aGjGKrf|k#(Ojn0ep(-uvE6=51bCj~~St17!>z z!g-`vfRorcE{fF<_VqIs9cU_~?wU5i#d(r58 zMTD&p{m6cQ^QDqe^m?@ zAx_JN*Cl@$J>6636;H?LXOo2fdt}eXJ3taW%}Cc%Uww8Y8A|;P3PL97DRUK3ls+Rb LwKuJt0A2qNtV5pE literal 0 HcmV?d00001 diff --git a/ft_strnstr.c b/ft_strnstr.c new file mode 100644 index 0000000..4d3b540 --- /dev/null +++ b/ft_strnstr.c @@ -0,0 +1,38 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_strnstr.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: tosuman +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2023/05/22 17:05:27 by tosuman #+# #+# */ +/* Updated: 2023/05/22 17:05:28 by tosuman ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include + +size_t ft_strlen(const char *s); +int ft_memcmp(const void *s1, const void *s2, size_t n); + +char *ft_strnstr(const char *big, const char *little, size_t len) +{ + size_t l_len; + size_t b_len; + + if ((!big || !little) && len == 0) + return (0); + b_len = ft_strlen(big); + l_len = ft_strlen(little); + if (b_len < l_len || len < l_len) + return (0); + if (b_len - l_len + 1 < len) + len = b_len - l_len + 1; + else if (len >= l_len) + len = len - l_len; + len += !len; + while (len--) + if (!ft_memcmp(big++, little, l_len)) + return ((char *)--big); + return (0); +} diff --git a/ft_strnstr.o b/ft_strnstr.o new file mode 100644 index 0000000000000000000000000000000000000000..3c5aa4a32dbfc2334763250468abe3f860fd75dc GIT binary patch literal 1688 zcmbtT&ubG=5PqB1ruJuAM3j062x8GblGcN^P$DJv;V+61D1y`^ZY`Ki%kBnRp?C<2 zAryM>ZxN3X588_eUUKY3SgD72iy+o-HgD2o-6H6~?96;K-^|-LyU)_MZ$u13uoz-q z97T)@vD|ayr+hahhQ*M`sLB^r{+3XcZBJE7`>K+utMaxd+$hYxD2>6?MQPv-k-qNX zp{i+=zV`@Fm2?9!XzjR(xS{6KO?v=dojgagt1WgzT}n4qxn>|&cgFpCMk?w00U#1r6L+{`aANd^5Yo$R|wmgIC4o>?Gca{$Q zw?po&|2BK?#NxujZ2aQl-OOY>IU|!Y8J|u}&m^u)U!%8!^g`p%6Ht_ih%jn|u^2k$ zJ3plp#?yPk*o+wyL(%?SB+mgSCHX~<>m#ujk%i&D$PZKy5H8fWSA0JV%l3q9dIW{z z9k@RW*jZ>Sq{;bXaIxyHIIdlU%6vzl-GW&p&oZsNwLxv?bZ@#F(w~PdxpfTwxdW%W z<@&hBBe0}xk +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2023/05/22 16:24:42 by tosuman #+# #+# */ +/* Updated: 2023/05/22 16:24:42 by tosuman ### ########.fr */ +/* */ +/* ************************************************************************** */ + +char *ft_strrchr(const char *s, int c) +{ + char *last; + + last = 0; + while (*s) + if (*s++ == (char) c) + last = (char *)(s - 1); + if (*s == (char) c) + return ((char *) s); + return (last); +} diff --git a/ft_strrchr.o b/ft_strrchr.o new file mode 100644 index 0000000000000000000000000000000000000000..b903928f550985fcd347fefd7cb49a19f467d902 GIT binary patch literal 1312 zcmbVLL2DC16n?XfX|1u=(u1WvtX@>mAxT?kJxEH}b`K&V1U*>lHf|fxBxQF3tspHZ zLMTFiKo9;3>9OF!tKeU#u+WpY-1NQdyzMybsSjq}_kHhuGn1LkzV~F+5dt^_JcbL# zDuC-;;Mx$@paj>T;rD<0{SQgMcjo`_22?q};~#p7|K*wR`;FwrH#lsZE&c43hU&)z zRc}BTE1yn#zcfsnip0(fI1kpp!&<%m$i27rv~l09%*%?bxYcrXzPwOfh5~Nn;<$nX z8^8f^N*agIoPW!-E{ONfLF`V7+0y9P5fv$#6LojONbP})!gqlTTN_(Z&<^<&m(R0k zrMoIxOVl*a?m=^YFK)k$fV2@7bUwB?Q`>(R3-pYa^*=x_ty#ul2Jb&-iimlC&Wna- zww{>8!0cnmLokZtzqd!ue*0YZC%cZlw5IJ(P@`B%Q#RZFmsp|yRW0jC!B>6ITUx)0 zna;_6*7Nozi>v*wiC~Q5pf|Gpw66VjD8YgD&k!*}%b9W$QJ()qH*RO0DX{(j0RNG4 AjQ{`u literal 0 HcmV?d00001 diff --git a/ft_strtrim.c b/ft_strtrim.c new file mode 100644 index 0000000..e69de29 diff --git a/ft_substr.c b/ft_substr.c new file mode 100644 index 0000000..52339e5 --- /dev/null +++ b/ft_substr.c @@ -0,0 +1,43 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_substr.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: tosuman +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2023/05/24 13:23:00 by tosuman #+# #+# */ +/* Updated: 2023/05/24 13:23:01 by tosuman ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include + +void *ft_calloc(size_t nmemb, size_t size); +size_t ft_strlcpy(char *dst, const char *src, size_t size); + +char *ft_substr(char const *s, unsigned int start, size_t len) +{ + unsigned int idx; + size_t real_len; + char *substr; + char *empty; + + idx = -1; + while (s[++idx] && idx < start) + ; + if (!s[idx]) + { + empty = ft_calloc(1, sizeof(char)); + if (!empty) + return (0); + return (empty); + } + real_len = 0; + while (++real_len <= len && s[idx + real_len - 1]) + ; + substr = malloc(sizeof(char) * real_len); + if (!substr) + return (0); + ft_strlcpy(substr, s + idx, real_len); + return (substr); +} diff --git a/ft_substr.o b/ft_substr.o new file mode 100644 index 0000000000000000000000000000000000000000..2801b67f59c7855e65156b40bf4ea65d09f44db1 GIT binary patch literal 1696 zcmbtT&1(};5P!R^P1QuB2ny|C^-wG5k`E8If<(jGhlq$6@FI1yZY`KEcHcr$C>|oh z5(@b#`&f zAriSl#*sh?c`!BhGoG6vF%l&?>VBj39~tUywq0kJy1AW})){~_>sm)@?KaK*;xLbTTzhrnI_9k*z>z6qQ@E$XM5d0>; z6w2{KV6j(xVy8I1z;WO2?`0N(M7%x-p9dUg{%d~{dU0j~)GvZx{3{|S_=R1Dgz!ZT z+G}B8NbL>4BA^rB5X6-C2cJvaAC!2KhZ9SK{Z-z7X;?NogZ=j*6SluLA1L;O`@>$* vFYqvKBzwvEpJM=W7!-FD>_5nHFcWf*^QR}!Kkxb& +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2023/05/16 14:37:20 by tosuman #+# #+# */ +/* Updated: 2023/05/16 14:37:40 by tosuman ### ########.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..560b038c8ce59ca91963b288797d6d2b9407a59a GIT binary patch literal 1256 zcmbVLOH0E*5T3NYA4SE3QV;Q@f-Y@UP!AF*RS)7p5JV9hYidE;NV4JswS|IEy!cc6 z2?c+PAb9d#(3y58#-&~yn4S5)nQwO4P0E?A^@w2rn*povgO~+)50O@rwqOAIVRy6k zR=aOh?;F-b4A=c~&r_yRt(zZFjEAqVkxs9e(;M5nGiGvLBt_CpB~tT=h17C$N(Zhc zdM7$IK?ICCacqXdy#1&u7`HoMTn`!Xf$pAXEKVR#PG-`w78`nuqzAhWuz~O&Msqvh z^Q&Ds+U6!=*flQ$qd=iC-f;VAFfMJL$p-$@*m zbXQ&41WRF4>g@56#r|FC<1=YK36c^?O*M|H=wFT1i12bWHKR z80nm>XTIIuBzdO=E!$iH`Y_TP>3W*0za2?7)&AoILZ;||8OE%gzM>jWgU(i>>%ReL CxmY9s literal 0 HcmV?d00001 diff --git a/ft_toupper.c b/ft_toupper.c new file mode 100644 index 0000000..69b0936 --- /dev/null +++ b/ft_toupper.c @@ -0,0 +1,18 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_toupper.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: tosuman +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2023/05/22 16:12:47 by tosuman #+# #+# */ +/* Updated: 2023/05/22 16:12:47 by tosuman ### ########.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..7bd3b7e4056f53872adec937c07d16d844821573 GIT binary patch literal 1256 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 literal 0 HcmV?d00001 diff --git a/libft.h b/libft.h new file mode 100644 index 0000000..41676aa --- /dev/null +++ b/libft.h @@ -0,0 +1,50 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* libft.h :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: tosuman +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2023/05/11 11:31:44 by tosuman #+# #+# */ +/* Updated: 2023/05/11 11:31:46 by tosuman ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#ifndef LIBFT_H +# define LIBFT_H + +# include + +int ft_atoi(const char *nptr); +void ft_bzero(void *s, size_t n); +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); +int ft_isprint(int c); +int ft_isspace(int c); +void *ft_memchr(const void *s, int c, size_t n); +int ft_memcmp(const void *s1, const void *s2, size_t n); +void *ft_memcpy(void *dest, const void *src, size_t n); +void *ft_memmove(void *dest, const void *src, size_t n); +void *ft_memset(void *s, int c, size_t n); +char *ft_strchr(const char *s, int c); +char *ft_strdup(const char *s); +size_t ft_strlcat(char *dst, const char *src, size_t size); +size_t ft_strlcpy(char *dst, const char *src, size_t size); +size_t ft_strlen(const char *s); +int ft_strncmp(const char *s1, const char *s2, size_t n); +char *ft_strnstr(const char *big, const char *little, size_t len); +char *ft_strrchr(const char *s, int c); +int ft_tolower(int c); +int ft_toupper(int c); +char *ft_substr(char const *s, unsigned int start, size_t len); + +typedef struct s_list +{ + void *content; + struct s_list *next; +} t_list; + +#endif diff --git a/libft.so b/libft.so new file mode 100755 index 0000000000000000000000000000000000000000..1384d14f37ef77d5b2988195cc18f5ea38e0225e GIT binary patch literal 15776 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 G)&Ae+L;{Kc literal 0 HcmV?d00001