diff --git a/Makefile b/Makefile index f5a9932..5592593 100644 --- a/Makefile +++ b/Makefile @@ -45,8 +45,7 @@ SRC = ft_isalpha.c \ ft_putendl_fd.c \ ft_putnbr_fd.c -BONUS_SRC = $(SRC) \ - ft_lstnew_bonus.c \ +BONUS_SRC = ft_lstnew_bonus.c \ ft_lstadd_front_bonus.c \ ft_lstsize_bonus.c \ ft_lstlast_bonus.c \ @@ -71,8 +70,8 @@ $(NAME): $(OBJ) $(HEADER) all: $(NAME) -bonus: $(BONUS_OBJ) - $(AR) $(ARFLAGS) $(NAME) $(BONUS_OBJ) +bonus: $(OBJ) $(BONUS_OBJ) $(HEADER) + $(AR) $(ARFLAGS) $(NAME) $(OBJ) $(BONUS_OBJ) ranlib $(NAME) clean: diff --git a/ft_atoi.c b/ft_atoi.c index f083941..08d4416 100644 --- a/ft_atoi.c +++ b/ft_atoi.c @@ -6,7 +6,7 @@ /* By: dgaillet +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/11/05 19:07:51 by dgaillet #+# #+# */ -/* Updated: 2025/11/09 17:34:56 by dgaillet ### ########lyon.fr */ +/* Updated: 2025/11/11 13:48:35 by dgaillet ### ########lyon.fr */ /* */ /* ************************************************************************** */ @@ -34,15 +34,3 @@ int ft_atoi(const char *nptr) } return (res); } -/* -#include - -int main(int argc, char **argv) -{ - if (argc > 1) - { - printf("%d\n", ft_atoi(argv[1])); - printf("%d\n", atoi(argv[1])); - } -} -*/ diff --git a/ft_bzero.c b/ft_bzero.c index ff3ccb3..fb3c95a 100644 --- a/ft_bzero.c +++ b/ft_bzero.c @@ -6,7 +6,7 @@ /* By: dgaillet +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/11/05 11:41:08 by dgaillet #+# #+# */ -/* Updated: 2025/11/05 11:44:03 by dgaillet ### ########lyon.fr */ +/* Updated: 2025/11/11 11:41:35 by dgaillet ### ########lyon.fr */ /* */ /* ************************************************************************** */ @@ -14,8 +14,10 @@ void ft_bzero(void *s, size_t n) { - if (n <= 0) - return ; - *((char *) s) = '\0'; - ft_bzero(s + 1, n - 1); + while (n > 0) + { + *((unsigned char *) s) = '\0'; + s++; + n--; + } } diff --git a/ft_itoa.c b/ft_itoa.c index c790793..7f4ebf2 100644 --- a/ft_itoa.c +++ b/ft_itoa.c @@ -6,7 +6,7 @@ /* By: dgaillet +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/11/07 13:06:35 by dgaillet #+# #+# */ -/* Updated: 2025/11/09 18:47:18 by dgaillet ### ########lyon.fr */ +/* Updated: 2025/11/11 13:48:49 by dgaillet ### ########lyon.fr */ /* */ /* ************************************************************************** */ @@ -60,18 +60,3 @@ char *ft_itoa(int n) } return (str); } -/* -int main(int argc, char **argv) -{ - char *str; - - if (argc > 1) - { - str = ft_itoa(42); - if (!str) - return (1); - ft_putstr_fd(str, 1); - free(str); - } -} -*/ diff --git a/ft_lstsize_bonus.c b/ft_lstsize_bonus.c index e0ede0c..511372c 100644 --- a/ft_lstsize_bonus.c +++ b/ft_lstsize_bonus.c @@ -6,7 +6,7 @@ /* By: dgaillet +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/11/09 14:43:22 by dgaillet #+# #+# */ -/* Updated: 2025/11/10 18:19:33 by dgaillet ### ########lyon.fr */ +/* Updated: 2025/11/11 11:31:23 by dgaillet ### ########lyon.fr */ /* */ /* ************************************************************************** */ @@ -14,14 +14,18 @@ int ft_lstsize(t_list *lst) { - int i; + int i; + t_list *first_node; if (!lst) return (0); + first_node = lst; i = 1; while (lst->next) { lst = lst->next; + if (lst == first_node) + break ; i++; } return (i); diff --git a/ft_memchr.c b/ft_memchr.c index d4067a1..d2d59d5 100644 --- a/ft_memchr.c +++ b/ft_memchr.c @@ -6,7 +6,7 @@ /* By: dgaillet +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/11/05 17:54:17 by dgaillet #+# #+# */ -/* Updated: 2025/11/06 11:13:18 by dgaillet ### ########lyon.fr */ +/* Updated: 2025/11/11 11:53:16 by dgaillet ### ########lyon.fr */ /* */ /* ************************************************************************** */ @@ -14,9 +14,15 @@ void *ft_memchr(const void *s, int c, size_t n) { - if (n <= 0) - return (NULL); - if (*(unsigned char *) s == (unsigned char) c) - return ((void *) s); - return (ft_memchr(s + 1, c, n - 1)); + void *ptr; + + ptr = (void *) s; + while (n > 0) + { + if (*((unsigned char *) ptr) == (unsigned char) c) + return (ptr); + ptr++; + n--; + } + return (NULL); } diff --git a/ft_memcmp.c b/ft_memcmp.c index 027c1a4..2e43e78 100644 --- a/ft_memcmp.c +++ b/ft_memcmp.c @@ -6,7 +6,7 @@ /* By: dgaillet +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/11/05 18:00:38 by dgaillet #+# #+# */ -/* Updated: 2025/11/06 11:17:32 by dgaillet ### ########lyon.fr */ +/* Updated: 2025/11/11 11:59:58 by dgaillet ### ########lyon.fr */ /* */ /* ************************************************************************** */ @@ -14,11 +14,16 @@ int ft_memcmp(const void *s1, const void *s2, size_t n) { - if (n <= 0) - return (0); - if (*(unsigned char *) s1 > *(unsigned char *) s2) - return (1); - if (*(unsigned char *) s1 < *(unsigned char *) s2) - return (-1); - return (ft_memcmp(s1 + 1, s2 + 1, n - 1)); + size_t i; + + i = 0; + while (i < n) + { + if (((unsigned char *) s1)[i] > ((unsigned char *) s2)[i]) + return (1); + if (((unsigned char *) s1)[i] < ((unsigned char *) s2)[i]) + return (-1); + i++; + } + return (0); } diff --git a/ft_putendl_fd.c b/ft_putendl_fd.c index bd6dcae..97cf9c7 100644 --- a/ft_putendl_fd.c +++ b/ft_putendl_fd.c @@ -6,7 +6,7 @@ /* By: dgaillet +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/11/08 17:46:08 by dgaillet #+# #+# */ -/* Updated: 2025/11/08 17:47:46 by dgaillet ### ########lyon.fr */ +/* Updated: 2025/11/11 12:25:15 by dgaillet ### ########lyon.fr */ /* */ /* ************************************************************************** */ @@ -16,5 +16,5 @@ void ft_putendl_fd(char *s, int fd) { ft_putstr_fd(s, fd); - write(fd, "\n", 1); + ft_putchar_fd('\n', fd); } diff --git a/ft_putnbr_fd.c b/ft_putnbr_fd.c index d1ce611..fbfc09b 100644 --- a/ft_putnbr_fd.c +++ b/ft_putnbr_fd.c @@ -6,7 +6,7 @@ /* By: dgaillet +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/11/08 17:50:35 by dgaillet #+# #+# */ -/* Updated: 2025/11/10 10:58:21 by dgaillet ### ########lyon.fr */ +/* Updated: 2025/11/11 12:26:48 by dgaillet ### ########lyon.fr */ /* */ /* ************************************************************************** */ @@ -24,7 +24,7 @@ static void write_nbr(unsigned int n, int fd) void ft_putnbr_fd(int n, int fd) { if (!n) - ft_putchar_fd(n % 10 + '0', fd); + ft_putchar_fd('0', fd); else if (n < 0) { ft_putchar_fd('-', fd); diff --git a/ft_putstr_fd.c b/ft_putstr_fd.c index 083c64f..a3a70af 100644 --- a/ft_putstr_fd.c +++ b/ft_putstr_fd.c @@ -6,17 +6,14 @@ /* By: dgaillet +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/11/08 17:43:42 by dgaillet #+# #+# */ -/* Updated: 2025/11/08 17:44:38 by dgaillet ### ########lyon.fr */ +/* Updated: 2025/11/11 12:23:51 by dgaillet ### ########lyon.fr */ /* */ /* ************************************************************************** */ +#include #include "libft.h" void ft_putstr_fd(char *s, int fd) { - while (*s) - { - ft_putchar_fd(*s, fd); - s++; - } + write(fd, s, ft_strlen(s)); } diff --git a/ft_split.c b/ft_split.c index 8c56b96..b963e8c 100644 --- a/ft_split.c +++ b/ft_split.c @@ -6,7 +6,7 @@ /* By: dgaillet +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/11/06 17:02:58 by dgaillet #+# #+# */ -/* Updated: 2025/11/10 11:09:15 by dgaillet ### ########lyon.fr */ +/* Updated: 2025/11/11 13:49:21 by dgaillet ### ########lyon.fr */ /* */ /* ************************************************************************** */ @@ -68,29 +68,13 @@ char **ft_split(char const *s, char c) { strs[i] = ft_substr(&s[j], 0, next_match((char *) &s[j], c)); if (!strs[i]) - return (clear_strs(strs), NULL); + { + clear_strs(strs); + return (NULL); + } i++; } j++; } return (strs); } -/* -#include - -int main(void) -{ - char **strs; - int i; - - strs = ft_split("---------1-2--3---4----5-----42----", ' '); - i = 0; - while (strs[i]) - { - printf("%s\n", strs[i]); - free(strs[i]); - i++; - } - free (strs); -} -*/ diff --git a/ft_strchr.c b/ft_strchr.c index f95bdbb..620285d 100644 --- a/ft_strchr.c +++ b/ft_strchr.c @@ -6,15 +6,24 @@ /* By: dgaillet +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/11/05 17:24:37 by dgaillet #+# #+# */ -/* Updated: 2025/11/06 12:38:20 by dgaillet ### ########lyon.fr */ +/* Updated: 2025/11/11 12:36:25 by dgaillet ### ########lyon.fr */ /* */ /* ************************************************************************** */ +#include "libft.h" + char *ft_strchr(const char *s, int c) { - if ((unsigned char) s[0] == (unsigned char) c) - return ((char *) s); - if (!s[0]) - return (0); - return (ft_strchr(s + 1, c)); + int i; + + i = 0; + while (s[i]) + { + if ((unsigned char) s[i] == (unsigned char) c) + return ((char *) s + i); + i++; + } + if ((unsigned char) s[i] == (unsigned char) c) + return ((char *) s + i); + return (NULL); } diff --git a/ft_strjoin.c b/ft_strjoin.c index 46c6665..6e85acd 100644 --- a/ft_strjoin.c +++ b/ft_strjoin.c @@ -6,7 +6,7 @@ /* By: dgaillet +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/11/06 13:52:21 by dgaillet #+# #+# */ -/* Updated: 2025/11/06 13:56:29 by dgaillet ### ########lyon.fr */ +/* Updated: 2025/11/11 12:39:10 by dgaillet ### ########lyon.fr */ /* */ /* ************************************************************************** */ diff --git a/ft_strlen.c b/ft_strlen.c index aa82e97..04d9aac 100644 --- a/ft_strlen.c +++ b/ft_strlen.c @@ -6,7 +6,7 @@ /* By: dgaillet +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/11/05 11:17:31 by dgaillet #+# #+# */ -/* Updated: 2025/11/05 11:20:00 by dgaillet ### ########lyon.fr */ +/* Updated: 2025/11/11 13:29:00 by dgaillet ### ########lyon.fr */ /* */ /* ************************************************************************** */ @@ -14,7 +14,10 @@ size_t ft_strlen(const char *s) { - if (!(*s)) - return (0); - return (1 + ft_strlen(s + 1)); + size_t i; + + i = 0; + while (s[i]) + i++; + return (i); } diff --git a/ft_strncmp.c b/ft_strncmp.c index 51cb6a7..6307c68 100644 --- a/ft_strncmp.c +++ b/ft_strncmp.c @@ -6,7 +6,7 @@ /* By: dgaillet +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/11/05 17:34:15 by dgaillet #+# #+# */ -/* Updated: 2025/11/06 11:08:43 by dgaillet ### ########lyon.fr */ +/* Updated: 2025/11/11 13:47:04 by dgaillet ### ########lyon.fr */ /* */ /* ************************************************************************** */ @@ -14,21 +14,16 @@ int ft_strncmp(const char *s1, const char *s2, size_t n) { - if (n <= 0) - return (0); - if (!(*s1) && !(*s2)) - return (0); - if (*(unsigned char *) s1 > *(unsigned char *) s2) - return (1); - if (*(unsigned char *) s1 < *(unsigned char *) s2) - return (-1); - return (ft_strncmp(s1 + 1, s2 + 1, n - 1)); -} -/* -#include "stdio.h" + size_t i; -int main(void) -{ - printf("%d\n", ft_strncmp("test\200", "test\0", 6)); + i = 0; + while ((s1[i] || s2[i]) && i < n) + { + if ((unsigned char) s1[i] > (unsigned char) s2[i]) + return (1); + if ((unsigned char) s1[i] < (unsigned char) s2[i]) + return (-1); + i++; + } + return (0); } -*/ diff --git a/ft_strnstr.c b/ft_strnstr.c index fb528c6..c5a603c 100644 --- a/ft_strnstr.c +++ b/ft_strnstr.c @@ -6,7 +6,7 @@ /* By: dgaillet +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/11/05 18:05:52 by dgaillet #+# #+# */ -/* Updated: 2025/11/06 13:18:50 by dgaillet ### ########lyon.fr */ +/* Updated: 2025/11/11 13:47:25 by dgaillet ### ########lyon.fr */ /* */ /* ************************************************************************** */ @@ -31,9 +31,3 @@ char *ft_strnstr(const char *big, const char *little, size_t len) } return (NULL); } -/* -int main(void) -{ - ft_strnstr("lorem ipsum dolor sit amet", "lorem", 15); -} -*/ diff --git a/ft_strrchr.c b/ft_strrchr.c index 0a009f3..8780904 100644 --- a/ft_strrchr.c +++ b/ft_strrchr.c @@ -6,7 +6,7 @@ /* By: dgaillet +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/11/05 17:28:39 by dgaillet #+# #+# */ -/* Updated: 2025/11/06 12:39:21 by dgaillet ### ########lyon.fr */ +/* Updated: 2025/11/11 13:47:40 by dgaillet ### ########lyon.fr */ /* */ /* ************************************************************************** */ @@ -27,11 +27,3 @@ char *ft_strrchr(const char *s, int c) } return (NULL); } -/* -#include - -int main(void) -{ - printf("%s\n", ft_strrchr("bonjour", 'b')); -} -*/ diff --git a/ft_strtrim.c b/ft_strtrim.c index 7278335..0d6cd23 100644 --- a/ft_strtrim.c +++ b/ft_strtrim.c @@ -6,7 +6,7 @@ /* By: dgaillet +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/11/06 16:31:38 by dgaillet #+# #+# */ -/* Updated: 2025/11/09 19:25:35 by dgaillet ### ########lyon.fr */ +/* Updated: 2025/11/11 13:48:05 by dgaillet ### ########lyon.fr */ /* */ /* ************************************************************************** */ @@ -83,13 +83,3 @@ char *ft_strtrim(char const *s1, char const *set) str[i] = '\0'; return (str); } -/* -int main(void) -{ - char *test; - - test = ft_strtrim("lorem \n ipsum \t dolor \n sit \t amet", " "); - printf("%s\n", test); - free(test); -} -*/