39 lines
1.3 KiB
C
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);
|
|
}
|