aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ft_atoi.c2
-rw-r--r--ft_calloc.c2
-rw-r--r--ft_isalpha.c2
-rw-r--r--ft_isascii.c2
-rw-r--r--ft_isprint.c2
-rw-r--r--ft_lstadd_back_bonus.c4
-rw-r--r--ft_lstdelone_bonus.c2
-rw-r--r--ft_memccpy.c8
-rw-r--r--ft_memchr.c20
-rw-r--r--ft_memcmp.c24
-rw-r--r--ft_memcpy.c2
-rw-r--r--ft_memmove.c9
-rw-r--r--ft_strchr.c17
-rw-r--r--ft_strlcat.c14
-rw-r--r--ft_strlcpy.c9
-rw-r--r--ft_strncmp.c10
-rw-r--r--ft_strnstr.c17
-rw-r--r--ft_strrchr.c9
-rw-r--r--ft_tolower.c4
-rw-r--r--notes40
20 files changed, 104 insertions, 95 deletions
diff --git a/ft_atoi.c b/ft_atoi.c
index f25dd69..17488fa 100644
--- a/ft_atoi.c
+++ b/ft_atoi.c
@@ -6,7 +6,7 @@
/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2019/10/07 09:46:16 by cacharle #+# #+# */
-/* Updated: 2019/10/17 15:25:44 by cacharle ### ########.fr */
+/* Updated: 2019/10/19 10:50:39 by cacharle ### ########.fr */
/* */
/* ************************************************************************** */
diff --git a/ft_calloc.c b/ft_calloc.c
index 3d1568d..97a45f2 100644
--- a/ft_calloc.c
+++ b/ft_calloc.c
@@ -6,7 +6,7 @@
/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2019/10/07 12:45:37 by cacharle #+# #+# */
-/* Updated: 2019/10/18 13:00:38 by cacharle ### ########.fr */
+/* Updated: 2019/10/20 10:55:01 by cacharle ### ########.fr */
/* */
/* ************************************************************************** */
diff --git a/ft_isalpha.c b/ft_isalpha.c
index 070ff6a..6f155b4 100644
--- a/ft_isalpha.c
+++ b/ft_isalpha.c
@@ -6,7 +6,7 @@
/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2019/10/07 09:54:52 by cacharle #+# #+# */
-/* Updated: 2019/10/07 09:54:57 by cacharle ### ########.fr */
+/* Updated: 2019/10/20 13:01:13 by cacharle ### ########.fr */
/* */
/* ************************************************************************** */
diff --git a/ft_isascii.c b/ft_isascii.c
index 5bb79cb..51dcd1c 100644
--- a/ft_isascii.c
+++ b/ft_isascii.c
@@ -6,7 +6,7 @@
/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2019/10/07 09:54:30 by cacharle #+# #+# */
-/* Updated: 2019/10/07 09:54:37 by cacharle ### ########.fr */
+/* Updated: 2019/10/20 13:03:23 by cacharle ### ########.fr */
/* */
/* ************************************************************************** */
diff --git a/ft_isprint.c b/ft_isprint.c
index 397271d..c311709 100644
--- a/ft_isprint.c
+++ b/ft_isprint.c
@@ -6,7 +6,7 @@
/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2019/10/07 09:52:09 by cacharle #+# #+# */
-/* Updated: 2019/10/07 09:52:10 by cacharle ### ########.fr */
+/* Updated: 2019/10/20 13:03:36 by cacharle ### ########.fr */
/* */
/* ************************************************************************** */
diff --git a/ft_lstadd_back_bonus.c b/ft_lstadd_back_bonus.c
index 4a7f758..be2dbf3 100644
--- a/ft_lstadd_back_bonus.c
+++ b/ft_lstadd_back_bonus.c
@@ -6,7 +6,7 @@
/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2019/10/09 09:02:03 by cacharle #+# #+# */
-/* Updated: 2019/10/18 12:21:08 by cacharle ### ########.fr */
+/* Updated: 2019/10/20 10:55:13 by cacharle ### ########.fr */
/* */
/* ************************************************************************** */
@@ -15,8 +15,6 @@
void ft_lstadd_back(t_list **alst, t_list *new)
{
- t_list *cursor;
-
if (alst == NULL)
return ;
if (*alst == NULL)
diff --git a/ft_lstdelone_bonus.c b/ft_lstdelone_bonus.c
index 9030da3..745dd21 100644
--- a/ft_lstdelone_bonus.c
+++ b/ft_lstdelone_bonus.c
@@ -6,7 +6,7 @@
/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2019/10/09 09:03:02 by cacharle #+# #+# */
-/* Updated: 2019/10/18 12:20:38 by cacharle ### ########.fr */
+/* Updated: 2019/10/20 10:55:20 by cacharle ### ########.fr */
/* */
/* ************************************************************************** */
diff --git a/ft_memccpy.c b/ft_memccpy.c
index 60895cf..f3dacbc 100644
--- a/ft_memccpy.c
+++ b/ft_memccpy.c
@@ -6,7 +6,7 @@
/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2019/10/07 10:01:53 by cacharle #+# #+# */
-/* Updated: 2019/10/18 14:17:34 by cacharle ### ########.fr */
+/* Updated: 2019/10/20 12:41:51 by cacharle ### ########.fr */
/* */
/* ************************************************************************** */
@@ -25,10 +25,8 @@ void *ft_memccpy(void *dest, const void *src, int c, size_t n)
{
uc_dest[i] = uc_src[i];
if (uc_dest[i] == (unsigned char)c)
- break ;
+ return (uc_dest + i + 1);
i++;
}
- if (i == n)
- return (NULL);
- return (dest + i + 1);
+ return (NULL);
}
diff --git a/ft_memchr.c b/ft_memchr.c
index 26b196f..934ede8 100644
--- a/ft_memchr.c
+++ b/ft_memchr.c
@@ -6,24 +6,22 @@
/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2019/10/07 09:55:31 by cacharle #+# #+# */
-/* Updated: 2019/10/07 09:56:35 by cacharle ### ########.fr */
+/* Updated: 2019/10/20 12:56:46 by cacharle ### ########.fr */
/* */
/* ************************************************************************** */
+#include "libft.h"
#include <string.h>
void *ft_memchr(const void *s, int c, size_t n)
{
- size_t i;
- unsigned char *uc_s;
+ size_t i;
+ t_byte *cast_s;
- uc_s = (unsigned char*)s;
- i = 0;
- while (i < n)
- {
- if (uc_s[i] == (unsigned char)c)
- return (uc_s + i);
- i++;
- }
+ cast_s = (t_byte*)s;
+ i = -1;
+ while (++i < n)
+ if (cast_s[i] == (unsigned char)c)
+ return (cast_s + i);
return (NULL);
}
diff --git a/ft_memcmp.c b/ft_memcmp.c
index 22c5c21..26cc0e7 100644
--- a/ft_memcmp.c
+++ b/ft_memcmp.c
@@ -6,26 +6,26 @@
/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2019/10/07 09:56:44 by cacharle #+# #+# */
-/* Updated: 2019/10/18 13:08:03 by cacharle ### ########.fr */
+/* Updated: 2019/10/20 13:00:29 by cacharle ### ########.fr */
/* */
/* ************************************************************************** */
#include <string.h>
+#include "libft.h"
int ft_memcmp(const void *s1, const void *s2, size_t n)
{
- size_t i;
- unsigned char *uc_s1;
- unsigned char *uc_s2;
+ size_t i;
+ t_byte *cast_s1;
+ t_byte *cast_s2;
- uc_s1 = (unsigned char*)s1;
- uc_s2 = (unsigned char*)s2;
- i = 0;
+ cast_s1 = (t_byte*)s1;
+ cast_s2 = (t_byte*)s2;
if (n == 0)
return (0);
- while (i < n && uc_s1[i] == uc_s2[i])
- i++;
- if (i == n)
- i--;
- return (uc_s1[i] - uc_s2[i]);
+ i = -1;
+ while (++i < n)
+ if (cast_s1[i] != cast_s2[i])
+ return (cast_s1[i] - cast_s2[i]);
+ return (0);
}
diff --git a/ft_memcpy.c b/ft_memcpy.c
index 30943f6..4ee9c75 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/18 13:47:52 by cacharle ### ########.fr */
+/* Updated: 2019/10/20 12:32:36 by cacharle ### ########.fr */
/* */
/* ************************************************************************** */
diff --git a/ft_memmove.c b/ft_memmove.c
index cc05875..e400e91 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/10 14:56:41 by cacharle ### ########.fr */
+/* Updated: 2019/10/20 12:54:40 by cacharle ### ########.fr */
/* */
/* ************************************************************************** */
@@ -20,14 +20,13 @@ void *ft_memmove(void *dst, const void *src, size_t len)
t_byte *dst_cast;
t_byte *src_cast;
- if (dst == NULL && src == NULL)
- return (NULL);
+ if (dst == src)
+ return (dst);
dst_cast = (t_byte*)dst;
src_cast = (t_byte*)src;
i = -1;
if (dst_cast < src_cast)
- while (++i < len)
- dst_cast[i] = src_cast[i];
+ ft_memcpy(dst, src, len);
else
while (len-- > 0)
dst_cast[len] = src_cast[len];
diff --git a/ft_strchr.c b/ft_strchr.c
index 048b2ec..45eecdd 100644
--- a/ft_strchr.c
+++ b/ft_strchr.c
@@ -6,7 +6,7 @@
/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2019/10/07 10:14:47 by cacharle #+# #+# */
-/* Updated: 2019/10/07 10:40:04 by cacharle ### ########.fr */
+/* Updated: 2019/10/20 13:10:19 by cacharle ### ########.fr */
/* */
/* ************************************************************************** */
@@ -14,16 +14,13 @@
char *ft_strchr(const char *s, int c)
{
- char *cursor;
-
- cursor = (char*)s;
- while (*cursor)
+ while (*s)
{
- if (*cursor == (char)c)
- return (cursor);
- cursor++;
+ if (*s == (char)c)
+ return ((char*)s);
+ s++;
}
- if (c == 0)
- return (cursor);
+ if ((char)c == 0)
+ return ((char*)s);
return (NULL);
}
diff --git a/ft_strlcat.c b/ft_strlcat.c
index 241e158..109d390 100644
--- a/ft_strlcat.c
+++ b/ft_strlcat.c
@@ -6,7 +6,7 @@
/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2019/10/07 10:31:37 by cacharle #+# #+# */
-/* Updated: 2019/10/12 13:09:02 by cacharle ### ########.fr */
+/* Updated: 2019/10/20 13:16:45 by cacharle ### ########.fr */
/* */
/* ************************************************************************** */
@@ -22,18 +22,12 @@ size_t ft_strlcat(char *dst, const char *src, size_t size)
dst_len = ft_strlen(dst);
src_len = ft_strlen(src);
- if (size == 0)
- return (src_len);
+ if (size <= dst_len)
+ return (src_len + size);
i = 0;
j = dst_len;
while (src[i] && j < size - 1)
- {
- dst[j] = src[i];
- i++;
- j++;
- }
+ dst[j++] = src[i++];
dst[j] = '\0';
- if (dst[size - 1] != '\0')
- return (src_len + size);
return (dst_len + src_len);
}
diff --git a/ft_strlcpy.c b/ft_strlcpy.c
index 70e922b..cff1a31 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/18 13:07:51 by cacharle ### ########.fr */
+/* Updated: 2019/10/20 13:17:52 by cacharle ### ########.fr */
/* */
/* ************************************************************************** */
@@ -19,12 +19,9 @@ size_t ft_strlcpy(char *dst, const char *src, size_t size)
if (size == 0)
return (ft_strlen(src));
- i = 0;
- while (i < size - 1 && src[i] != '\0')
- {
+ i = -1;
+ while (++i < size - 1 && src[i] != '\0')
dst[i] = src[i];
- i++;
- }
dst[i] = '\0';
return (ft_strlen(src));
}
diff --git a/ft_strncmp.c b/ft_strncmp.c
index f11e5cd..9e5dfcd 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/18 14:25:17 by cacharle ### ########.fr */
+/* Updated: 2019/10/20 13:15:38 by cacharle ### ########.fr */
/* */
/* ************************************************************************** */
@@ -16,12 +16,8 @@ int ft_strncmp(const char *s1, const char *s2, size_t n)
{
size_t i;
- if (n == 0)
- return (0);
i = 0;
- while (s1[i] == s2[i] && s1[i] && s2[i] && i < n)
+ 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]);
+ return (((unsigned char*)s1)[i] - ((unsigned char*)s2)[i]);
}
diff --git a/ft_strnstr.c b/ft_strnstr.c
index 0dc21d2..5f6f0f1 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/18 14:26:28 by cacharle ### ########.fr */
+/* Updated: 2019/10/20 14:21:42 by cacharle ### ########.fr */
/* */
/* ************************************************************************** */
@@ -17,24 +17,19 @@
char *ft_strnstr(const char *haystack, const char *needle, size_t len)
{
size_t i;
- size_t j;
+ /* 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])
{
- j = 0;
- while (i + j < len && needle[j] && haystack[i + j])
- {
- if (needle[j] != haystack[i + j])
- break ;
- j++;
- }
- if (j == needle_len)
- return ((char*)haystack + i);
+ if (ft_strncmp(mut_haystack + i, needle, needle_len) == 0)
+ return (mut_haystack + i);
}
return (NULL);
}
diff --git a/ft_strrchr.c b/ft_strrchr.c
index b94a776..5653c2b 100644
--- a/ft_strrchr.c
+++ b/ft_strrchr.c
@@ -6,7 +6,7 @@
/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2019/10/07 10:26:24 by cacharle #+# #+# */
-/* Updated: 2019/10/07 10:26:46 by cacharle ### ########.fr */
+/* Updated: 2019/10/20 13:11:13 by cacharle ### ########.fr */
/* */
/* ************************************************************************** */
@@ -17,12 +17,9 @@ char *ft_strrchr(const char *s, int c)
{
size_t i;
- i = ft_strlen(s);
- while (s[i] != (char)c)
- {
+ i = ft_strlen(s) + 1;
+ while (s[--i] != (char)c)
if (i == 0)
return (NULL);
- i--;
- }
return ((char*)s + i);
}
diff --git a/ft_tolower.c b/ft_tolower.c
index a5cc5eb..6a252aa 100644
--- a/ft_tolower.c
+++ b/ft_tolower.c
@@ -6,13 +6,13 @@
/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2019/10/07 10:14:26 by cacharle #+# #+# */
-/* Updated: 2019/10/07 10:14:33 by cacharle ### ########.fr */
+/* Updated: 2019/10/20 13:04:16 by cacharle ### ########.fr */
/* */
/* ************************************************************************** */
int ft_tolower(int c)
{
if (c >= 'A' && c <= 'Z')
- return ('a' + c - 'A');
+ return (c + 'a' - 'A');
return (c);
}
diff --git a/notes b/notes
new file mode 100644
index 0000000..2582c6b
--- /dev/null
+++ b/notes
@@ -0,0 +1,40 @@
+- memset
+ ^> bzero
+ si s == NULL:
+ si n > sizeof(s):
+
+- memcpy
+ si dest == NULL:
+ si src == NULL:
+ si dest && src == NULL:
+ si n > sizeof(dest):
+ si n > sizeof(src):
+
+- memccpy
+ si dest == NULL:
+ si src == NULL:
+ si dest && src == NULL:
+ si n > sizeof(dest):
+ si n > sizeof(src):
+ !! si c est dernier dans dest essaye i + 1: ??
+
+- memmove
+ si dst == NULL:
+ si src == NULL:
+ si dst && src == NULL:
+ si dst == src
+ si n > sizeof(dest):
+ si n > sizeof(src):
+
+- memchr
+- memcmp
+- strchr
+- strrchr
+- strncmp
+- strlcpy
+- strlcat
+- strnstr
+- atoi
+
+- calloc
+- strdup