From 507661351ca718c8a3d8213a0a80f994825fc881 Mon Sep 17 00:00:00 2001 From: Rudy Bousset Date: Tue, 29 Oct 2019 12:25:57 +0100 Subject: libft included --- libft/ft_strnstr.c | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 libft/ft_strnstr.c (limited to 'libft/ft_strnstr.c') diff --git a/libft/ft_strnstr.c b/libft/ft_strnstr.c new file mode 100644 index 0000000..583026e --- /dev/null +++ b/libft/ft_strnstr.c @@ -0,0 +1,45 @@ +/* ************************************************************************** */ +/* LE - / */ +/* / */ +/* ft_strnstr.c .:: .:/ . .:: */ +/* +:+:+ +: +: +:+:+ */ +/* By: rbousset +:+ +: +: +:+ */ +/* #+# #+ #+ #+# */ +/* Created: 2019/10/10 00:23:15 by rbousset #+# ## ## #+# */ +/* Updated: 2019/10/13 08:34:35 by rbousset ### #+. /#+ ###.fr */ +/* / */ +/* / */ +/* ************************************************************************** */ + +#include "libft.h" +#include +#include + +char + *ft_strnstr(const char *haystack, const char *needle, size_t len) +{ + unsigned long i; + unsigned long j; + char *hay_ptr; + char *nee_ptr; + + hay_ptr = (char*)haystack; + nee_ptr = (char*)needle; + i = 0; + if (!nee_ptr[0]) + return (hay_ptr); + while (hay_ptr[i] && i < len) + { + j = 0; + while (nee_ptr[j] == hay_ptr[i + j] && (i + j) < len) + { + if (!nee_ptr[j + 1]) + return (hay_ptr + i); + j++; + } + if (!hay_ptr[i + 1] && !j) + return (0); + i++; + } + return (0); +} -- cgit v1.2.3