printf/libft/src/ft_strnstr.c
2023-04-15 06:55:33 +02:00

39 lines
1.3 KiB
C

/* ************************************************************************** */
/* */
/* :::::::: */
/* ft_strnstr.c |o_o || | */
/* +:+ */
/* By: djonker <marvin@codam.nl> +#+ */
/* +#+ */
/* Created: 2020/11/11 16:14:33 by djonker #+# #+# */
/* Updated: 2023/03/03 14:31:13 by houtworm \___)=(___/ */
/* */
/* ************************************************************************** */
#include "../libft.h"
char *ft_strnstr(const char *h, const char *n, size_t len)
{
long unsigned int ih;
int in;
if (h == NULL || n == NULL)
return (NULL);
ih = 0;
if (!*n)
return ((char *)&h[ih]);
while (h[ih] != '\0' && len > ih)
{
if (h[ih] == n[0])
{
in = 1;
while (n[in] != '\0' && h[ih + in] == n[in] && (ih + in) < len)
in++;
if (n[in] == '\0')
return ((char *)&h[ih]);
}
ih++;
}
return (NULL);
}