From a60d1e1a87849950c22b2c271f87a917272d3cd8 Mon Sep 17 00:00:00 2001 From: lalgarra Date: Sat, 4 Oct 2025 13:09:36 +0200 Subject: [PATCH] ft_memset() --- Makefile | 5 ++-- ft_memset_expected.output | 15 +++++++++++ ft_memset_test.c | 57 +++++++++++++++++++++++++++++++++++++++ 3 files changed, 75 insertions(+), 2 deletions(-) create mode 100644 ft_memset_expected.output create mode 100644 ft_memset_test.c diff --git a/Makefile b/Makefile index cff3a21..b633515 100644 --- a/Makefile +++ b/Makefile @@ -6,7 +6,7 @@ # By: lalgarra +#+ +:+ +#+ # # +#+#+#+#+#+ +#+ # # Created: 2025/10/03 18:03:12 by lalgarra #+# #+# # -# Updated: 2025/10/04 11:59:30 by lalgarra ### ########.fr # +# Updated: 2025/10/04 13:04:25 by lalgarra ### ########.fr # # # # **************************************************************************** # @@ -17,7 +17,8 @@ LIBDIR = ../repo_libft_algarra CFLAGS += -Wall -Wextra -Werror -g3 -iquote $(LIBDIR) TESTS := ft_isalpha_test ft_isdigit_test ft_isalnum_test ft_isascii_test \ - ft_isprint_test ft_toupper_test ft_tolower_test ft_strlen_test + ft_isprint_test ft_toupper_test ft_tolower_test ft_strlen_test \ + ft_memset_test %_test : %_test.c $(CC) $(CFLAGS) $*_test.c -L$(LIBDIR) -lft -o $*_test diff --git a/ft_memset_expected.output b/ft_memset_expected.output new file mode 100644 index 0000000..8a8997f --- /dev/null +++ b/ft_memset_expected.output @@ -0,0 +1,15 @@ +buff: "", n=0 +after call: buff: "", n=0 +res == buff: 1; +buff: "", n=3 +after call: buff: "XXX", n=3 +res == buff: 1; +buff: "Iorem ipsum dolor", n=3 +after call: buff: "XXXem ipsum dolor", n=3 +res == buff: 1; +buff: "Iorem ipsum dolor", n=16 +after call: buff: "XXXXXXXXXXXXXXXXr", n=16 +res == buff: 1; +buff: "Iorem ipsum dolor", n=17 +after call: buff: "XXXXXXXXXXXXXXXXX", n=17 +res == buff: 1; diff --git a/ft_memset_test.c b/ft_memset_test.c new file mode 100644 index 0000000..d0914f1 --- /dev/null +++ b/ft_memset_test.c @@ -0,0 +1,57 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_memset_test.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: lalgarra +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2025/10/03 18:27:44 by lalgarra #+# #+# */ +/* Updated: 2025/10/04 12:52:11 by lalgarra ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "libft.h" +#include +#include + +void do_test(const char *buff, size_t n) +{ + void *res; + size_t idx; + char c1; + + printf("buff: \"%s\", n=%lu\r\n", buff, n); + c1 = 'X'; + res = ft_memset((void *)buff, c1, n); + printf("after call: buff: \"%s\", n=%lu\r\n", buff, n); + printf("res == buff: %i;", res == buff); + idx = 0; + while (idx < n) + { + if (*(buff + idx) != c1) + { + printf(" pos. %lu not set!!", idx); + idx = n; + } + idx++; + } + if (*(buff + n) == c1) + printf(" pos. %lu updated!!", idx); + printf("\r\n"); +} + +int main(void) +{ + char buff[18]; + + strcpy(buff, ""); + do_test(buff, 0); + do_test(buff, 3); + strcpy(buff, "Iorem ipsum dolor"); + do_test(buff, 3); + strcpy(buff, "Iorem ipsum dolor"); + do_test(buff, 16); + strcpy(buff, "Iorem ipsum dolor"); + do_test(buff, 17); + return (0); +}