aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ft_lstmap_bonus.c2
-rw-r--r--ft_memcpy.c4
-rw-r--r--ft_memmove.c5
-rw-r--r--ft_memset.c13
-rw-r--r--ft_strlcpy.c4
-rw-r--r--ft_strncmp.c4
-rw-r--r--ft_strnstr.c14
7 files changed, 26 insertions, 20 deletions
diff --git a/ft_lstmap_bonus.c b/ft_lstmap_bonus.c
index 47d72a0..1dfce78 100644
--- a/ft_lstmap_bonus.c
+++ b/ft_lstmap_bonus.c
@@ -6,7 +6,7 @@
/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2019/10/09 09:03:57 by cacharle #+# #+# */
-/* Updated: 2019/10/17 09:07:55 by cacharle ### ########.fr */
+/* Updated: 2019/10/21 11:43:10 by cacharle ### ########.fr */
/* */
/* ************************************************************************** */
diff --git a/ft_memcpy.c b/ft_memcpy.c
index 4ee9c75..642db20 100644
--- a/ft_memcpy.c
+++ b/ft_memcpy.c
@@ -6,7 +6,7 @@
/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2019/10/07 10:00:07 by cacharle #+# #+# */
-/* Updated: 2019/10/20 12:32:36 by cacharle ### ########.fr */
+/* Updated: 2019/10/21 11:17:05 by cacharle ### ########.fr */
/* */
/* ************************************************************************** */
@@ -16,7 +16,7 @@ void *ft_memcpy(void *dest, const void *src, size_t n)
{
size_t i;
- if (dest == NULL && src == NULL)
+ if (dest == NULL)
return (NULL);
i = 0;
while (i < n)
diff --git a/ft_memmove.c b/ft_memmove.c
index e400e91..0b7e430 100644
--- a/ft_memmove.c
+++ b/ft_memmove.c
@@ -6,7 +6,7 @@
/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2019/10/07 10:03:21 by cacharle #+# #+# */
-/* Updated: 2019/10/20 12:54:40 by cacharle ### ########.fr */
+/* Updated: 2019/10/21 11:07:04 by cacharle ### ########.fr */
/* */
/* ************************************************************************** */
@@ -26,7 +26,8 @@ void *ft_memmove(void *dst, const void *src, size_t len)
src_cast = (t_byte*)src;
i = -1;
if (dst_cast < src_cast)
- ft_memcpy(dst, src, len);
+ while (++i < len)
+ dst_cast[i] = src_cast[i];
else
while (len-- > 0)
dst_cast[len] = src_cast[len];
diff --git a/ft_memset.c b/ft_memset.c
index b5520db..c1fcda6 100644
--- a/ft_memset.c
+++ b/ft_memset.c
@@ -6,18 +6,23 @@
/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2019/10/07 10:01:23 by cacharle #+# #+# */
-/* Updated: 2019/10/18 13:08:10 by cacharle ### ########.fr */
+/* Updated: 2019/10/21 11:35:07 by cacharle ### ########.fr */
/* */
/* ************************************************************************** */
#include <string.h>
+#include "libft.h"
void *ft_memset(void *s, int c, size_t n)
{
- unsigned char uchar_c;
+ t_byte cast_c;
+ t_byte *cast_s;
- uchar_c = (unsigned char)c;
+ if (s == NULL)
+ return (NULL);
+ cast_c = (t_byte)c;
+ cast_s = (t_byte*)s;
while (n-- > 0)
- ((unsigned char*)s)[n] = uchar_c;
+ *cast_s++ = cast_c;
return (s);
}
diff --git a/ft_strlcpy.c b/ft_strlcpy.c
index cff1a31..0b1b0d4 100644
--- a/ft_strlcpy.c
+++ b/ft_strlcpy.c
@@ -6,7 +6,7 @@
/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2019/10/07 12:28:47 by cacharle #+# #+# */
-/* Updated: 2019/10/20 13:17:52 by cacharle ### ########.fr */
+/* Updated: 2019/10/21 11:05:52 by cacharle ### ########.fr */
/* */
/* ************************************************************************** */
@@ -17,6 +17,8 @@ size_t ft_strlcpy(char *dst, const char *src, size_t size)
{
unsigned int i;
+ if (dst == NULL || src == NULL)
+ return (0);
if (size == 0)
return (ft_strlen(src));
i = -1;
diff --git a/ft_strncmp.c b/ft_strncmp.c
index 9e5dfcd..e8188d0 100644
--- a/ft_strncmp.c
+++ b/ft_strncmp.c
@@ -6,7 +6,7 @@
/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2019/10/07 10:27:34 by cacharle #+# #+# */
-/* Updated: 2019/10/20 13:15:38 by cacharle ### ########.fr */
+/* Updated: 2019/10/21 11:04:38 by cacharle ### ########.fr */
/* */
/* ************************************************************************** */
@@ -19,5 +19,7 @@ int ft_strncmp(const char *s1, const char *s2, size_t n)
i = 0;
while (i < n && s1[i] == s2[i] && s1[i] && s2[i])
i++;
+ if (i == n)
+ i--;
return (((unsigned char*)s1)[i] - ((unsigned char*)s2)[i]);
}
diff --git a/ft_strnstr.c b/ft_strnstr.c
index 5f6f0f1..4ca9f4b 100644
--- a/ft_strnstr.c
+++ b/ft_strnstr.c
@@ -6,7 +6,7 @@
/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2019/10/07 10:25:13 by cacharle #+# #+# */
-/* Updated: 2019/10/20 14:21:42 by cacharle ### ########.fr */
+/* Updated: 2019/10/21 11:04:56 by cacharle ### ########.fr */
/* */
/* ************************************************************************** */
@@ -16,20 +16,16 @@
char *ft_strnstr(const char *haystack, const char *needle, size_t len)
{
- size_t i;
- /* size_t j; */
size_t needle_len;
- char *mut_haystack;
needle_len = ft_strlen(needle);
if (needle_len == 0)
return ((char*)haystack);
- mut_haystack = (char*)haystack;
- i = -1;
- while (++i < len && haystack[i])
+ while (*haystack && len-- >= needle_len)
{
- if (ft_strncmp(mut_haystack + i, needle, needle_len) == 0)
- return (mut_haystack + i);
+ if (ft_strncmp(haystack, needle, needle_len) == 0)
+ return ((char*)haystack);
+ haystack++;
}
return (NULL);
}