From 4e19b82398e0cfaa3ca0b9f68772c88d103ff6ea Mon Sep 17 00:00:00 2001 From: Dominik Kaiser Date: Sun, 10 Mar 2024 13:37:45 +0100 Subject: Complete missing functions and add header --- ft_strnstr.c | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) (limited to 'ft_strnstr.c') diff --git a/ft_strnstr.c b/ft_strnstr.c index 2b96b64..54868d4 100644 --- a/ft_strnstr.c +++ b/ft_strnstr.c @@ -6,21 +6,23 @@ /* By: dkaiser +#include "libft.h" char *ft_strnstr(const char *haystack, const char *needle, size_t len) { size_t i; size_t k; + if (len < 0 || (!haystack[0] && needle[0])) + return (0); i = 0; if (*needle == '\0' || needle == haystack) return ((char *)haystack); - while (i < len) + while (i < len && haystack[i]) { k = 0; while (haystack[i + k] && haystack[i + k] == needle[k] && i + k < len) @@ -38,9 +40,10 @@ char *ft_strnstr(const char *haystack, const char *needle, size_t len) /* int main(void) */ /* { */ -/* char haystack[] = "M"; */ -/* char needle[] = "MZIRIBMZE"; */ +/* char haystack[] = "abc"; */ +/* char needle[] = "abcde"; */ +/* size_t len = 5; */ -/* printf("strnstr: %s\n", strnstr(haystack, haystack, 2)); */ -/* printf("ft_strnstr: %s\n", ft_strnstr(haystack, haystack, 2)); */ +/* printf("strnstr: %s\n", strnstr(haystack, needle, len)); */ +/* printf("ft_strnstr: %s\n", ft_strnstr(haystack, needle, len)); */ /* } */ -- cgit v1.2.3