diff options
| author | Charles <sircharlesaze@gmail.com> | 2019-10-20 14:22:31 +0200 |
|---|---|---|
| committer | Charles <sircharlesaze@gmail.com> | 2019-10-20 14:22:31 +0200 |
| commit | 2a6b46d026e7ae16af85c4c211fb685f699a5377 (patch) | |
| tree | 956b619911d872539382970e0a428e82d5ad886e | |
| parent | 43e6c82cad5d790c75c918a4eca85cdec894d1c8 (diff) | |
| download | libft-2a6b46d026e7ae16af85c4c211fb685f699a5377.tar.gz libft-2a6b46d026e7ae16af85c4c211fb685f699a5377.tar.bz2 libft-2a6b46d026e7ae16af85c4c211fb685f699a5377.zip | |
Part1 refactoring
| -rw-r--r-- | ft_atoi.c | 2 | ||||
| -rw-r--r-- | ft_calloc.c | 2 | ||||
| -rw-r--r-- | ft_isalpha.c | 2 | ||||
| -rw-r--r-- | ft_isascii.c | 2 | ||||
| -rw-r--r-- | ft_isprint.c | 2 | ||||
| -rw-r--r-- | ft_lstadd_back_bonus.c | 4 | ||||
| -rw-r--r-- | ft_lstdelone_bonus.c | 2 | ||||
| -rw-r--r-- | ft_memccpy.c | 8 | ||||
| -rw-r--r-- | ft_memchr.c | 20 | ||||
| -rw-r--r-- | ft_memcmp.c | 24 | ||||
| -rw-r--r-- | ft_memcpy.c | 2 | ||||
| -rw-r--r-- | ft_memmove.c | 9 | ||||
| -rw-r--r-- | ft_strchr.c | 17 | ||||
| -rw-r--r-- | ft_strlcat.c | 14 | ||||
| -rw-r--r-- | ft_strlcpy.c | 9 | ||||
| -rw-r--r-- | ft_strncmp.c | 10 | ||||
| -rw-r--r-- | ft_strnstr.c | 17 | ||||
| -rw-r--r-- | ft_strrchr.c | 9 | ||||
| -rw-r--r-- | ft_tolower.c | 4 | ||||
| -rw-r--r-- | notes | 40 |
20 files changed, 104 insertions, 95 deletions
@@ -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); } @@ -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 |
