diff --git a/ft_memccpy.c b/ft_memccpy.c index 2d60423..c305fc1 100644 --- a/ft_memccpy.c +++ b/ft_memccpy.c @@ -6,7 +6,7 @@ /* By: apommier +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2020/11/29 00:11:04 by apommier #+# #+# */ -/* Updated: 2020/12/12 12:44:27 by apommier ### ########.fr */ +/* Updated: 2020/12/12 14:07:04 by apommier ### ########.fr */ /* */ /* ************************************************************************** */ @@ -18,6 +18,7 @@ void *ft_memccpy(void *dest, const void *src, int c, size_t n) const char *p1; size_t i; + i = 0; p = (char*)dest; p1 = (const char*)src; while (i < n) diff --git a/ft_memcmp.c b/ft_memcmp.c index a5ecb43..58a837c 100644 --- a/ft_memcmp.c +++ b/ft_memcmp.c @@ -6,7 +6,7 @@ /* By: apommier +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2020/11/29 00:11:51 by apommier #+# #+# */ -/* Updated: 2020/12/11 16:11:54 by apommier ### ########.fr */ +/* Updated: 2020/12/12 14:14:51 by apommier ### ########.fr */ /* */ /* ************************************************************************** */ @@ -19,8 +19,8 @@ int ft_memcmp(const void *s1, const void *s2, size_t n) i = 0; while (n) { - if (((char*)s1)[i] != ((char*)s2)[i]) - return (((char*)s1)[i] - ((char*)s2)[i]); + if (((unsigned char*)s1)[i] != ((unsigned char*)s2)[i]) + return (((unsigned char*)s1)[i] - ((unsigned char*)s2)[i]); n--; i++; } diff --git a/ft_strlcat.c b/ft_strlcat.c index 46c996a..374d9d1 100644 --- a/ft_strlcat.c +++ b/ft_strlcat.c @@ -6,7 +6,7 @@ /* By: apommier +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2020/11/29 00:12:57 by apommier #+# #+# */ -/* Updated: 2020/11/29 17:10:54 by apommier ### ########.fr */ +/* Updated: 2020/12/12 15:40:58 by apommier ### ########.fr */ /* */ /* ************************************************************************** */ @@ -14,17 +14,21 @@ size_t ft_strlcat(char *dst, const char *src, size_t size) { - int i; - int j; + size_t i; + size_t k; - j = 0; - i = ft_strlen(dst); - while (size - 1 - i) + if (!size) + return (ft_strlen(src)); + i = 0; + k = ft_strlen(dst); + if (k >= size) + return (ft_strlen(src) + size); + while (size - k - 1 && src[i]) { - dst[i] = src[j]; + dst[k + i] = src[i]; i++; - j++; + size--; } - dst[i] = 0; - return (ft_strlen(dst) + ft_strlen(src)); + dst[k + i] = 0; + return (k + ft_strlen(src)); } diff --git a/ft_strlcpy.c b/ft_strlcpy.c index 9a6b62a..8d826c8 100644 --- a/ft_strlcpy.c +++ b/ft_strlcpy.c @@ -6,7 +6,7 @@ /* By: apommier +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2020/11/29 00:13:07 by apommier #+# #+# */ -/* Updated: 2020/12/11 16:16:21 by apommier ### ########.fr */ +/* Updated: 2020/12/12 16:07:05 by apommier ### ########.fr */ /* */ /* ************************************************************************** */ @@ -19,8 +19,12 @@ size_t ft_strlcpy(char *dst, const char *src, size_t size) j = 0; i = 0; + if (!src || !dst) + return (0); while (src[i]) i++; + if (!size) + return (i); while (size - 1 && src[j] != 0) { dst[j] = src[j]; diff --git a/ft_strncmp.c b/ft_strncmp.c index ae68383..3ed5fc0 100644 --- a/ft_strncmp.c +++ b/ft_strncmp.c @@ -6,7 +6,7 @@ /* By: apommier +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2020/11/29 00:13:31 by apommier #+# #+# */ -/* Updated: 2020/12/11 18:32:24 by apommier ### ########.fr */ +/* Updated: 2020/12/12 17:58:26 by apommier ### ########.fr */ /* */ /* ************************************************************************** */ @@ -17,12 +17,16 @@ int ft_strncmp(const char *s1, const char *s2, size_t n) int i; i = 0; + if (!s1 || !s2 || !n) + return (0); while (n && s1[i] && s2[i]) { if (s1[i] != s2[i]) - return ((unsigned char)(s1[i] - s2[i])); + return ((char)(s1[i] - s2[i])); n--; i++; } - return ((unsigned char)(s1[i] - s2[i])); + if (!s1[i] || !s2[i]) + return ((unsigned char)s1[i] - (unsigned char)s2[i]); + return (0); } diff --git a/ft_strnstr.c b/ft_strnstr.c index fed8561..dbe51b1 100644 --- a/ft_strnstr.c +++ b/ft_strnstr.c @@ -6,7 +6,7 @@ /* By: apommier +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2020/11/29 00:13:42 by apommier #+# #+# */ -/* Updated: 2020/12/11 16:17:45 by apommier ### ########.fr */ +/* Updated: 2020/12/12 18:13:44 by apommier ### ########.fr */ /* */ /* ************************************************************************** */ @@ -18,9 +18,11 @@ char *ft_strnstr(const char *big, const char *little, size_t len) int j; i = 0; - if (little[i] == 0) + if (!len) + return (0); + if (!little[i]) return ((char*)big); - while (big[i] && len - i) + while (big[i] && len - i - 1) { j = 0; if (little[j] != big[i]) @@ -31,6 +33,8 @@ char *ft_strnstr(const char *big, const char *little, size_t len) j++; if (little[j] == 0) return ((char*)&big[i]); + else + i++; } } return (0); diff --git a/ft_strrchr.c b/ft_strrchr.c index 941a8ca..c7e779e 100644 --- a/ft_strrchr.c +++ b/ft_strrchr.c @@ -6,7 +6,7 @@ /* By: apommier +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2020/11/29 00:13:52 by apommier #+# #+# */ -/* Updated: 2020/12/12 09:09:46 by apommier ### ########.fr */ +/* Updated: 2020/12/12 18:55:00 by apommier ### ########.fr */ /* */ /* ************************************************************************** */ @@ -17,10 +17,9 @@ char *ft_strrchr(const char *s, int c) char *str; char *last; - if (!s) - return (0); + last = 0; str = (char*)s; - while (*str != 0) + while (*str) { if (*str == c) last = str;