From 009780065032aa23c6d72dd7ab02adb481a7c76d Mon Sep 17 00:00:00 2001 From: Charles Date: Mon, 29 Jul 2019 13:27:25 +0200 Subject: part 1 pass except ft_isalnum (why??) --- ft_strnstr.c | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) (limited to 'ft_strnstr.c') diff --git a/ft_strnstr.c b/ft_strnstr.c index 2308a57..4109f2d 100644 --- a/ft_strnstr.c +++ b/ft_strnstr.c @@ -2,27 +2,29 @@ #include #include "libft.h" +#include char *ft_strnstr(const char *big, const char *little, size_t len) { size_t i; size_t j; - size_t min_len; + size_t little_len; - min_len = len > ft_strlen(little) ? ft_strlen(little) : len; - if (min_len == 0) + little_len = ft_strlen(little); + if (little_len == 0 || len == 0) return ((char*)big); i = 0; - while (big[i]) + while (i < len && big[i]) { j = 0; - while (little[j] && big[i + j]) + while (i + j < len && little[j] && big[i + j]) { + /* printf(" %lu", i + j); */ if (little[j] != big[i + j]) - break ; + break ; j++; - if (j == min_len) - return ((char*)(big + i)); } + if (j == little_len) + return ((char*)big + i); i++; } return (NULL); -- cgit