diff options
45 files changed, 163 insertions, 276 deletions
@@ -6,11 +6,10 @@ /* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2019/10/07 09:50:10 by cacharle #+# #+# */ -/* Updated: 2019/10/18 12:26:42 by cacharle ### ########.fr */ +/* Updated: 2019/11/20 03:29:26 by cacharle ### ########.fr */ /* */ /* ************************************************************************** */ -#include <string.h> #include "libft.h" void ft_bzero(void *s, size_t n) diff --git a/ft_calloc.c b/ft_calloc.c index 97a45f2..0a79c03 100644 --- a/ft_calloc.c +++ b/ft_calloc.c @@ -6,11 +6,10 @@ /* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2019/10/07 12:45:37 by cacharle #+# #+# */ -/* Updated: 2019/10/20 10:55:01 by cacharle ### ########.fr */ +/* Updated: 2019/11/20 04:00:52 by cacharle ### ########.fr */ /* */ /* ************************************************************************** */ -#include <stdlib.h> #include "libft.h" void *ft_calloc(size_t count, size_t size) @@ -6,59 +6,34 @@ /* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2019/10/07 10:19:56 by cacharle #+# #+# */ -/* Updated: 2019/11/20 01:15:40 by cacharle ### ########.fr */ +/* Updated: 2019/11/20 03:13:10 by cacharle ### ########.fr */ /* */ /* ************************************************************************** */ -#include <stdlib.h> +#include "libft.h" -static int count_len(int nbr) +char *ft_itoa(int n) { - int counter; + char *str; + int len; unsigned int u_nbr; - if (nbr == 0) - return (1); - counter = 0; - u_nbr = nbr; - if (nbr < 0) - { - counter++; - u_nbr = -nbr; - } + len = n < 0 || n == 0 ? 1 : 0; + u_nbr = n < 0 ? -n : n; while (u_nbr > 0) { u_nbr /= 10; - counter++; + len++; } - return (counter); -} - -char *ft_itoa(int n) -{ - char *str; - int len; - int is_negative; - unsigned int u_nbr; - - len = count_len(n); - if ((str = (char*)malloc(sizeof(char) * (len + 1))) == NULL) + if ((str = ft_strnew(len)) == NULL) return (NULL); - str[len] = '\0'; - is_negative = 0; - u_nbr = n; + u_nbr = n < 0 ? -n : n; if (n < 0) - { - is_negative = 1; str[0] = '-'; - u_nbr = -n; - } - len--; - while (len >= (is_negative ? 1 : 0)) + while (--len >= (n < 0 ? 1 : 0)) { str[len] = (u_nbr % 10) | 0x30; u_nbr /= 10; - len--; } return (str); } diff --git a/ft_lstadd_back_bonus.c b/ft_lstadd_back_bonus.c index be2dbf3..01eb00c 100644 --- a/ft_lstadd_back_bonus.c +++ b/ft_lstadd_back_bonus.c @@ -6,11 +6,10 @@ /* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2019/10/09 09:02:03 by cacharle #+# #+# */ -/* Updated: 2019/10/20 10:55:13 by cacharle ### ########.fr */ +/* Updated: 2019/11/20 04:01:26 by cacharle ### ########.fr */ /* */ /* ************************************************************************** */ -#include <stdlib.h> #include "libft.h" void ft_lstadd_back(t_list **alst, t_list *new) diff --git a/ft_lstclear_bonus.c b/ft_lstclear_bonus.c index 23999a0..ee1d9e5 100644 --- a/ft_lstclear_bonus.c +++ b/ft_lstclear_bonus.c @@ -6,11 +6,10 @@ /* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2019/10/09 09:02:39 by cacharle #+# #+# */ -/* Updated: 2019/11/20 01:57:09 by cacharle ### ########.fr */ +/* Updated: 2019/11/20 04:02:37 by cacharle ### ########.fr */ /* */ /* ************************************************************************** */ -#include <stdlib.h> #include "libft.h" void ft_lstclear(t_list **lst, void (*del)(void *)) diff --git a/ft_lstdelone_bonus.c b/ft_lstdelone_bonus.c index 59515ff..30cec69 100644 --- a/ft_lstdelone_bonus.c +++ b/ft_lstdelone_bonus.c @@ -6,11 +6,10 @@ /* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2019/10/09 09:03:02 by cacharle #+# #+# */ -/* Updated: 2019/11/20 01:56:28 by cacharle ### ########.fr */ +/* Updated: 2019/11/20 04:02:31 by cacharle ### ########.fr */ /* */ /* ************************************************************************** */ -#include <stdlib.h> #include "libft.h" void ft_lstdelone(t_list *lst, void (*del)(void *)) diff --git a/ft_lstiter_bonus.c b/ft_lstiter_bonus.c index 7b543cb..282e0fa 100644 --- a/ft_lstiter_bonus.c +++ b/ft_lstiter_bonus.c @@ -6,11 +6,10 @@ /* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2019/10/09 09:03:22 by cacharle #+# #+# */ -/* Updated: 2019/10/17 09:02:38 by cacharle ### ########.fr */ +/* Updated: 2019/11/20 04:01:39 by cacharle ### ########.fr */ /* */ /* ************************************************************************** */ -#include <stdlib.h> #include "libft.h" void ft_lstiter(t_list *lst, void (*f)(void *)) diff --git a/ft_lstlast_bonus.c b/ft_lstlast_bonus.c index 4246cfc..247f4da 100644 --- a/ft_lstlast_bonus.c +++ b/ft_lstlast_bonus.c @@ -6,11 +6,10 @@ /* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2019/10/09 09:03:40 by cacharle #+# #+# */ -/* Updated: 2019/10/09 09:08:12 by cacharle ### ########.fr */ +/* Updated: 2019/11/20 04:02:26 by cacharle ### ########.fr */ /* */ /* ************************************************************************** */ -#include <stdlib.h> #include "libft.h" t_list *ft_lstlast(t_list *lst) diff --git a/ft_lstmap_bonus.c b/ft_lstmap_bonus.c index 3d0b20c..c623d6f 100644 --- a/ft_lstmap_bonus.c +++ b/ft_lstmap_bonus.c @@ -6,11 +6,10 @@ /* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2019/10/09 09:03:57 by cacharle #+# #+# */ -/* Updated: 2019/11/20 01:56:47 by cacharle ### ########.fr */ +/* Updated: 2019/11/20 04:01:31 by cacharle ### ########.fr */ /* */ /* ************************************************************************** */ -#include <stdlib.h> #include "libft.h" t_list *ft_lstmap(t_list *lst, void *(*f)(void *), void (*del)(void *)) diff --git a/ft_lstnew_bonus.c b/ft_lstnew_bonus.c index 3f6ca38..ea10e4d 100644 --- a/ft_lstnew_bonus.c +++ b/ft_lstnew_bonus.c @@ -6,11 +6,10 @@ /* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2019/10/09 09:01:16 by cacharle #+# #+# */ -/* Updated: 2019/10/10 14:51:30 by cacharle ### ########.fr */ +/* Updated: 2019/11/20 04:01:35 by cacharle ### ########.fr */ /* */ /* ************************************************************************** */ -#include <stdlib.h> #include "libft.h" t_list *ft_lstnew(void const *content) diff --git a/ft_lstsize_bonus.c b/ft_lstsize_bonus.c index 0613c93..b9d65d2 100644 --- a/ft_lstsize_bonus.c +++ b/ft_lstsize_bonus.c @@ -6,11 +6,10 @@ /* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2019/10/09 09:04:28 by cacharle #+# #+# */ -/* Updated: 2019/10/09 09:20:36 by cacharle ### ########.fr */ +/* Updated: 2019/11/20 04:01:44 by cacharle ### ########.fr */ /* */ /* ************************************************************************** */ -#include <stdlib.h> #include "libft.h" int ft_lstsize(t_list *lst) diff --git a/ft_memalloc.c b/ft_memalloc.c index c485bfd..5aab2ec 100644 --- a/ft_memalloc.c +++ b/ft_memalloc.c @@ -6,20 +6,13 @@ /* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2019/10/07 10:07:14 by cacharle #+# #+# */ -/* Updated: 2019/10/07 10:07:47 by cacharle ### ########.fr */ +/* Updated: 2019/11/20 03:28:56 by cacharle ### ########.fr */ /* */ /* ************************************************************************** */ -#include <stdlib.h> -#include <string.h> +#include "libft.h" void *ft_memalloc(size_t size) { - void *ptr; - - if ((ptr = malloc(size)) == NULL) - return (NULL); - while (size-- > 0) - ((unsigned char*)ptr)[size] = 0; - return (ptr); + return (ft_calloc(size, 1)); } diff --git a/ft_memccpy.c b/ft_memccpy.c index f3dacbc..f95aa03 100644 --- a/ft_memccpy.c +++ b/ft_memccpy.c @@ -6,27 +6,26 @@ /* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2019/10/07 10:01:53 by cacharle #+# #+# */ -/* Updated: 2019/10/20 12:41:51 by cacharle ### ########.fr */ +/* Updated: 2019/11/20 03:30:45 by cacharle ### ########.fr */ /* */ /* ************************************************************************** */ -#include <string.h> +#include "libft.h" void *ft_memccpy(void *dest, const void *src, int c, size_t n) { - size_t i; - unsigned char *uc_dest; - unsigned char *uc_src; + size_t i; + t_byte *cast_dest; + t_byte *cast_src; - uc_dest = (unsigned char*)dest; - uc_src = (unsigned char*)src; - i = 0; - while (i < n) + cast_dest = (t_byte*)dest; + cast_src = (t_byte*)src; + i = -1; + while (++i < n) { - uc_dest[i] = uc_src[i]; - if (uc_dest[i] == (unsigned char)c) - return (uc_dest + i + 1); - i++; + cast_dest[i] = cast_src[i]; + if (cast_dest[i] == (unsigned char)c) + return (cast_dest + i + 1); } return (NULL); } diff --git a/ft_memchr.c b/ft_memchr.c index 934ede8..d2364db 100644 --- a/ft_memchr.c +++ b/ft_memchr.c @@ -6,12 +6,11 @@ /* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2019/10/07 09:55:31 by cacharle #+# #+# */ -/* Updated: 2019/10/20 12:56:46 by cacharle ### ########.fr */ +/* Updated: 2019/11/20 03:30:55 by cacharle ### ########.fr */ /* */ /* ************************************************************************** */ #include "libft.h" -#include <string.h> void *ft_memchr(const void *s, int c, size_t n) { diff --git a/ft_memcpy.c b/ft_memcpy.c index 642db20..70837bc 100644 --- a/ft_memcpy.c +++ b/ft_memcpy.c @@ -6,23 +6,17 @@ /* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2019/10/07 10:00:07 by cacharle #+# #+# */ -/* Updated: 2019/10/21 11:17:05 by cacharle ### ########.fr */ +/* Updated: 2019/11/20 03:20:29 by cacharle ### ########.fr */ /* */ /* ************************************************************************** */ -#include <string.h> +#include "libft.h" void *ft_memcpy(void *dest, const void *src, size_t n) { - size_t i; - - if (dest == NULL) - return (NULL); - i = 0; - while (i < n) - { - *((char*)dest + i) = *((char*)src + i); - i++; - } + if (dest == src) + return (dest); + while (n-- > 0) + *((t_byte*)dest + n) = *((t_byte*)src + n); return (dest); } diff --git a/ft_memdel.c b/ft_memdel.c index e67f9f3..2b21f33 100644 --- a/ft_memdel.c +++ b/ft_memdel.c @@ -6,11 +6,11 @@ /* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2019/10/07 10:00:56 by cacharle #+# #+# */ -/* Updated: 2019/11/20 01:57:44 by cacharle ### ########.fr */ +/* Updated: 2019/11/20 03:22:41 by cacharle ### ########.fr */ /* */ /* ************************************************************************** */ -#include <stdlib.h> +#include "libft.h" void ft_memdel(void **ap) { diff --git a/ft_memmove.c b/ft_memmove.c index 0b7e430..aa107bd 100644 --- a/ft_memmove.c +++ b/ft_memmove.c @@ -6,12 +6,10 @@ /* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2019/10/07 10:03:21 by cacharle #+# #+# */ -/* Updated: 2019/10/21 11:07:04 by cacharle ### ########.fr */ +/* Updated: 2019/11/20 03:31:00 by cacharle ### ########.fr */ /* */ /* ************************************************************************** */ -#include <stdlib.h> -#include <string.h> #include "libft.h" void *ft_memmove(void *dst, const void *src, size_t len) diff --git a/ft_memset.c b/ft_memset.c index c1fcda6..cd7616c 100644 --- a/ft_memset.c +++ b/ft_memset.c @@ -6,23 +6,15 @@ /* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2019/10/07 10:01:23 by cacharle #+# #+# */ -/* Updated: 2019/10/21 11:35:07 by cacharle ### ########.fr */ +/* Updated: 2019/11/20 03:22:29 by cacharle ### ########.fr */ /* */ /* ************************************************************************** */ -#include <string.h> #include "libft.h" void *ft_memset(void *s, int c, size_t n) { - t_byte cast_c; - t_byte *cast_s; - - if (s == NULL) - return (NULL); - cast_c = (t_byte)c; - cast_s = (t_byte*)s; while (n-- > 0) - *cast_s++ = cast_c; + *((t_byte*)s + n) = (t_byte)c; return (s); } diff --git a/ft_putchar.c b/ft_putchar.c index 0e01aea..2838f0a 100644 --- a/ft_putchar.c +++ b/ft_putchar.c @@ -6,11 +6,11 @@ /* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2019/10/07 09:53:31 by cacharle #+# #+# */ -/* Updated: 2019/10/09 08:45:20 by cacharle ### ########.fr */ +/* Updated: 2019/11/20 03:49:14 by cacharle ### ########.fr */ /* */ /* ************************************************************************** */ -#include <unistd.h> +#include "libft.h" void ft_putchar(char c) { diff --git a/ft_putchar_fd.c b/ft_putchar_fd.c index a06b8b1..97d6f7a 100644 --- a/ft_putchar_fd.c +++ b/ft_putchar_fd.c @@ -6,12 +6,11 @@ /* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2019/10/07 10:42:34 by cacharle #+# #+# */ -/* Updated: 2019/10/07 10:42:40 by cacharle ### ########.fr */ +/* Updated: 2019/11/20 03:49:28 by cacharle ### ########.fr */ /* */ /* ************************************************************************** */ -#include <unistd.h> -#include <limits.h> +#include "libft.h" void ft_putchar_fd(char c, int fd) { diff --git a/ft_putendl.c b/ft_putendl.c index 719331b..880977e 100644 --- a/ft_putendl.c +++ b/ft_putendl.c @@ -6,15 +6,13 @@ /* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2019/10/07 10:42:54 by cacharle #+# #+# */ -/* Updated: 2019/10/18 12:08:37 by cacharle ### ########.fr */ +/* Updated: 2019/11/20 04:00:32 by cacharle ### ########.fr */ /* */ /* ************************************************************************** */ -#include <unistd.h> #include "libft.h" void ft_putendl(char *s) { - ft_putstr(s); - ft_putchar('\n'); + ft_putendl_fd(s, STDOUT_FILENO); } diff --git a/ft_putendl_fd.c b/ft_putendl_fd.c index 8b77884..a8077fc 100644 --- a/ft_putendl_fd.c +++ b/ft_putendl_fd.c @@ -6,11 +6,10 @@ /* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2019/10/07 10:44:06 by cacharle #+# #+# */ -/* Updated: 2019/10/07 13:32:37 by cacharle ### ########.fr */ +/* Updated: 2019/11/20 04:00:07 by cacharle ### ########.fr */ /* */ /* ************************************************************************** */ -#include <limits.h> #include "libft.h" void ft_putendl_fd(char *s, int fd) diff --git a/ft_putnbr.c b/ft_putnbr.c index 9e1f894..247df40 100644 --- a/ft_putnbr.c +++ b/ft_putnbr.c @@ -6,24 +6,13 @@ /* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2019/10/07 09:52:33 by cacharle #+# #+# */ -/* Updated: 2019/10/07 09:53:09 by cacharle ### ########.fr */ +/* Updated: 2019/11/20 03:59:34 by cacharle ### ########.fr */ /* */ /* ************************************************************************** */ -#include <unistd.h> #include "libft.h" void ft_putnbr(int n) { - unsigned int p_n; - - p_n = n; - if (n < 0) - { - ft_putchar('-'); - p_n = -n; - } - if (p_n > 9) - ft_putnbr(p_n / 10); - ft_putchar(p_n % 10 + '0'); + ft_putnbr_fd(n, STDOUT_FILENO); } diff --git a/ft_putnbr_fd.c b/ft_putnbr_fd.c index 562d289..169d1b5 100644 --- a/ft_putnbr_fd.c +++ b/ft_putnbr_fd.c @@ -6,12 +6,10 @@ /* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2019/10/07 10:40:35 by cacharle #+# #+# */ -/* Updated: 2019/10/07 10:40:52 by cacharle ### ########.fr */ +/* Updated: 2019/11/20 03:46:11 by cacharle ### ########.fr */ /* */ /* ************************************************************************** */ -#include <unistd.h> -#include <limits.h> #include "libft.h" void ft_putnbr_fd(int n, int fd) @@ -28,5 +26,5 @@ void ft_putnbr_fd(int n, int fd) } if (p_n > 9) ft_putnbr_fd(p_n / 10, fd); - ft_putchar_fd(p_n % 10 + '0', fd); + ft_putchar_fd(p_n % 10 | 0x30, fd); } diff --git a/ft_putstr.c b/ft_putstr.c index 1175e68..14b01a3 100644 --- a/ft_putstr.c +++ b/ft_putstr.c @@ -6,16 +6,13 @@ /* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2019/10/07 09:52:12 by cacharle #+# #+# */ -/* Updated: 2019/11/20 02:03:11 by cacharle ### ########.fr */ +/* Updated: 2019/11/20 03:48:48 by cacharle ### ########.fr */ /* */ /* ************************************************************************** */ -#include <unistd.h> #include "libft.h" void ft_putstr(char const *s) { - if (s == NULL) - return ; - write(STDOUT_FILENO, s, ft_strlen(s)); + ft_putstr_fd((char*)s, STDOUT_FILENO); } diff --git a/ft_putstr_fd.c b/ft_putstr_fd.c index 1f2bbda..d0279ab 100644 --- a/ft_putstr_fd.c +++ b/ft_putstr_fd.c @@ -6,17 +6,15 @@ /* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2019/10/07 10:40:15 by cacharle #+# #+# */ -/* Updated: 2019/10/07 13:26:14 by cacharle ### ########.fr */ +/* Updated: 2019/11/20 03:47:59 by cacharle ### ########.fr */ /* */ /* ************************************************************************** */ -#include <unistd.h> -#include <limits.h> +#include "libft.h" void ft_putstr_fd(char *s, int fd) { if (s == NULL || fd < 0 || fd > OPEN_MAX) return ; - while (*s) - write(fd, s++, 1); + write(fd, s, ft_strlen(s)); } @@ -6,11 +6,11 @@ /* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2019/10/17 08:29:02 by cacharle #+# #+# */ -/* Updated: 2019/10/17 08:39:40 by cacharle ### ########.fr */ +/* Updated: 2019/11/20 03:54:26 by cacharle ### ########.fr */ /* */ /* ************************************************************************** */ -#include <stdlib.h> +#include "libft.h" static size_t count_segment(char const *s, char c) { @@ -52,11 +52,10 @@ static char *ft_strndup(const char *s1, size_t n) static void *destroy_strs(char **strs) { |
