/* ************************************************************************** */ /* */ /* ::: :::::::: */ /* ft_strlcpy_test.c :+: :+: :+: */ /* +:+ +:+ +:+ */ /* By: lalgarra +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/10/05 13:21:43 by lalgarra #+# #+# */ /* Updated: 2025/10/05 20:48:01 by lalgarra ### ########.fr */ /* */ /* ************************************************************************** */ #include "libft.h" #include #include static void test(char *prefix, char src[], char dest[], size_t size) { size_t res; int fd; fd = STDOUT_FILENO; ft_putstr_fd(prefix, fd); ft_putstr_fd("size:[", fd); ft_putnbr_fd((int) size, fd); ft_putstr_fd("], src:[", fd); ft_putstr_fd(src, fd); ft_putstr_fd("], dest:[", fd); ft_putstr_fd(dest, fd); res = ft_strlcpy(dest, src, size); ft_putstr_fd("], result:[", fd); ft_putnbr_fd((int) res, fd); ft_putstr_fd("], dest:[", fd); ft_putstr_fd(dest, fd); ft_putendl_fd("]", fd); } static void zero(char src[], char dest[]) { bzero(src, 128); bzero(dest, 128); } static void do_test1(char *prefix, char src[], char dest[]) { size_t size; size = 10; zero(src, dest); memcpy(src, "Lorem ipsum dolor sit amet consectetur adipiscing elit.", 56); memset(dest, 'X', size + 2); test(prefix, src, dest, size); } static void do_test2(char *prefix, char src[], char dest[]) { size_t size; zero(src, dest); size = 10; memcpy(src, "Lorem ipsum dolor sit amet consectetur adipiscing elit.", size - 3); memset(dest, 'X', size + 2); test(prefix, src, dest, size); } static void do_test3(char *prefix, char src[], char dest[]) { size_t size; zero(src, dest); size = 5; memcpy(src, "Lorem ipsum dolor sit amet consectetur adipiscing elit.", size + 3); memset(dest, 'X', size + 3); test(prefix, src, dest, size); } int main(void) { char src[128]; char dest[128]; do_test1("test 1: ", src, dest); do_test2("test 2: ", src, dest); do_test3("test 3: ", src, dest); return (0); }