From 6ed1cbe4b01fd05f1208c2f6e66e6d45ef5c8408 Mon Sep 17 00:00:00 2001 From: marvin Date: Sat, 23 Oct 2021 23:35:28 +0200 Subject: [PATCH] 2021-10-23 23:35:28 --- libft/munit.c | 110 +++++++++++++++++++++++++------------------------- 1 file changed, 55 insertions(+), 55 deletions(-) diff --git a/libft/munit.c b/libft/munit.c index 6be2a1b..7733e68 100644 --- a/libft/munit.c +++ b/libft/munit.c @@ -6,7 +6,7 @@ /* By: +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2021/10/23 16:09:04 by gbaconni #+# #+# */ -/* Updated: 2021/10/23 16:38:18 by gbaconni ### lausanne.ch */ +/* Updated: 2021/10/23 23:34:36 by gbaconni ### lausanne.ch */ /* */ /* ************************************************************************** */ @@ -18,57 +18,9 @@ #include #ifdef __GNU_LIBRARY__ - size_t strnlen(const char *s, size_t maxlen); size_t strlcpy(char *dst, const char *src, size_t dstsize); size_t strlcat(char *dst, const char *src, size_t dstsize); - -size_t strnlen(const char *s, size_t maxlen) -{ - size_t len; - - len = 0; - while (len < maxlen && *s++ != '\0') - len++; - return (len); -} - -size_t strlcpy(char *dst, const char *src, size_t dstsize) -{ - size_t srcsize; - - srcsize = strlen(src); - if (srcsize < dstsize) - { - memcpy(dst, src, srcsize + 1); - } - else if (dstsize != 0) - { - memcpy(dst, src, dstsize - 1); - dst[dstsize - 1] = '\0'; - } - return (srcsize); -} - -size_t strlcat(char *dst, const char *src, size_t dstsize) -{ - size_t srclen; - size_t dstlen; - size_t cpylen; - - srclen = strlen(src); - dstlen = strnlen(dst, dstsize); - if (dstlen == dstsize) - return (dstsize + srclen); - if (srclen < dstsize - dstlen) - cpylen = srclen + 1; - else - cpylen = dstsize - dstlen - 1; - memcpy(dst + dstlen, src, cpylen); - dst[dstsize - 1] = '\0'; - return (dstlen + srclen); -} - #endif static char char_bs[2] = { '\b', '\0' }; @@ -477,7 +429,7 @@ static MunitResult test_ft_memchr(const MunitParameter params[], void* user_data } else if (str == NULL) { - munit_assert_null(ft_str); + munit_assert_ptr_equal(ft_str, str); } return (MUNIT_OK); } @@ -503,7 +455,7 @@ static MunitResult test_ft_strchr(const MunitParameter params[], void* user_data } else if (str == NULL) { - munit_assert_null(ft_str); + munit_assert_ptr_equal(ft_str, str); } return (MUNIT_OK); } @@ -529,7 +481,7 @@ static MunitResult test_ft_strrchr(const MunitParameter params[], void* user_dat } else if (str == NULL) { - munit_assert_null(ft_str); + munit_assert_ptr_equal(ft_str, str); } return (MUNIT_OK); } @@ -561,9 +513,9 @@ static MunitResult test_ft_strnstr(const MunitParameter params[], void* user_dat munit_assert_string_equal(ft_str, str); munit_assert_memory_equal(n, ft_str, str); } - else if (str == NULL) + else { - munit_assert_null(ft_str); + munit_assert_ptr_equal(ft_str, str); } len--; } @@ -589,7 +541,7 @@ static MunitResult test_ft_strdup(const MunitParameter params[], void* user_data } else if (str == NULL) { - munit_assert_null(ft_str); + munit_assert_ptr_equal(ft_str, str); } free(ft_str); free(str); @@ -881,3 +833,51 @@ int main(int argc, char* argv[MUNIT_ARRAY_PARAM(argc + 1)]) munit_rand_memory(sizeof(data), data); return (munit_suite_main(&test_suite, (void *) data, argc, argv)); } + +#ifdef __GNU_LIBRARY__ +size_t strnlen(const char *s, size_t maxlen) +{ + size_t len; + + len = 0; + while (len < maxlen && *s++ != '\0') + len++; + return (len); +} + +size_t strlcpy(char *dst, const char *src, size_t dstsize) +{ + size_t srcsize; + + srcsize = strlen(src); + if (srcsize < dstsize) + { + memcpy(dst, src, srcsize + 1); + } + else if (dstsize != 0) + { + memcpy(dst, src, dstsize - 1); + dst[dstsize - 1] = '\0'; + } + return (srcsize); +} + +size_t strlcat(char *dst, const char *src, size_t dstsize) +{ + size_t srclen; + size_t dstlen; + size_t cpylen; + + srclen = strlen(src); + dstlen = strnlen(dst, dstsize); + if (dstlen == dstsize) + return (dstsize + srclen); + if (srclen < dstsize - dstlen) + cpylen = srclen + 1; + else + cpylen = dstsize - dstlen - 1; + memcpy(dst + dstlen, src, cpylen); + dst[dstsize - 1] = '\0'; + return (dstlen + srclen); +} +#endif