/* ************************************************************************** */ /* */ /* ::: :::::::: */ /* ft_strnstr_test.c :+: :+: :+: */ /* +:+ +:+ +:+ */ /* By: lalgarra +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/10/06 20:46:15 by lalgarra #+# #+# */ /* Updated: 2025/10/07 18:00:51 by lalgarra ### ########.fr */ /* */ /* ************************************************************************** */ #include "libft.h" #include #include static void test(char *prefix, char big[], char litl[], size_t len) { char *res; int fd; fd = STDOUT_FILENO; ft_putstr_fd(prefix, fd); ft_putstr_fd("len:[", fd); ft_putnbr_fd((int) len, fd); ft_putstr_fd("], big:[", fd); ft_putstr_fd(big, fd); ft_putstr_fd("], litl:[", fd); ft_putstr_fd(litl, fd); res = ft_strnstr(big, litl, len); ft_putstr_fd("], result:[", fd); if (res == NULL) ft_putstr_fd("-NULL-", fd); else ft_putstr_fd(res, fd); ft_putendl_fd("]", fd); } static void zero(char big[], char littl[]) { bzero(big, 128); bzero(littl, 128); } static void do_test1(char *prefix, char big[], char littl[]) { size_t size; size = 40; zero(big, littl); memcpy(big, "Lorem ipsum dolor sit amet consectetur adipiscing elit.", 56); memcpy(littl, "ipsum dolor", 11); test(prefix, big, littl, size); } static void do_test2(char *prefix, char big[], char littl[]) { size_t size; zero(big, littl); size = 15; memcpy(big, "Lorem ipsum", 11); memcpy(littl, "z", 1); test(prefix, big, littl, size); } static void do_test3(char *prefix, char big[], char littl[]) { size_t size; zero(big, littl); size = 5; test(prefix, big, littl, size); } static void do_test4(char *prefix, char big[], char littl[]) { size_t size; zero(big, littl); size = 0; memcpy(littl, "Lorem ipsum dolor sit amet consectetur adipiscing elit.", 8); test(prefix, big, littl, size); } static void do_test5(char *prefix, char big[], char littl[]) { size_t size; zero(big, littl); size = 4; memcpy(littl, "\xff\xaa\xde\x12", 5); memcpy(big, "\xff\xaa\xde\x12XABC", 5); test(prefix, big, littl, size); } static void do_test6(char *prefix, char big[], char littl[]) { size_t size; zero(big, littl); size = 20; memcpy(littl, "e\x00g", 3); memcpy(big, "is there\x00 a nyacat ?",20); test(prefix, big, littl, size); } static void do_test7(char *prefix) { size_t size; size = 3; test(prefix, "abcdefgh", "abc", size); } int main(void) { char big[128]; char littl[128]; do_test1("test 1: ", big, littl); do_test2("test 2: ", big, littl); do_test3("test 3: ", big, littl); do_test4("test 4: ", big, littl); do_test5("test 5: ", big, littl); do_test6("test 6: ", big, littl); do_test7("test 7: "); return (0); }