From 43e6c82cad5d790c75c918a4eca85cdec894d1c8 Mon Sep 17 00:00:00 2001 From: Charles Date: Fri, 18 Oct 2019 15:31:00 +0200 Subject: Fixed ft_substr, added a few protection to list functions --- Makefile | 6 +++--- ft_atoi.c | 6 +++--- ft_bzero.c | 2 +- ft_calloc.c | 4 +--- ft_lstadd_back_bonus.c | 7 ++----- ft_lstadd_front_bonus.c | 4 ++-- ft_lstclear_bonus.c | 6 ++++-- ft_lstdelone_bonus.c | 7 ++++--- ft_memccpy.c | 2 +- ft_memcmp.c | 2 +- ft_memcpy.c | 2 +- ft_memset.c | 2 +- ft_putendl.c | 2 +- ft_strdup.c | 2 +- ft_strlcpy.c | 2 +- ft_strlen.c | 2 +- ft_strncmp.c | 2 +- ft_strnstr.c | 2 +- ft_substr.c | 13 ++++++++----- 19 files changed, 38 insertions(+), 37 deletions(-) diff --git a/Makefile b/Makefile index 9daff17..6758101 100644 --- a/Makefile +++ b/Makefile @@ -6,7 +6,7 @@ # By: cacharle +#+ +:+ +#+ # # +#+#+#+#+#+ +#+ # # Created: 2019/10/08 15:45:53 by cacharle #+# #+# # -# Updated: 2019/10/16 14:41:13 by cacharle ### ########.fr # +# Updated: 2019/10/17 13:39:09 by cacharle ### ########.fr # # # # **************************************************************************** # @@ -39,8 +39,8 @@ all: $(NAME) $(NAME): $(OBJ) $(INCLUDE) $(LIB) $(NAME) $(OBJ) -bonus: $(OBJ) $(BONUSOBJ) $(INCLUDE) - $(LIB) $(NAME) $(OBJ) $(BONUSOBJ) +bonus: $(BONUSOBJ) $(INCLUDE) + $(LIB) $(NAME) $(BONUSOBJ) %.o: %.c $(CC) $(CCFLAGS) -c -o $@ $< diff --git a/ft_atoi.c b/ft_atoi.c index 24c81c2..f25dd69 100644 --- a/ft_atoi.c +++ b/ft_atoi.c @@ -6,12 +6,12 @@ /* By: cacharle +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2019/10/07 09:46:16 by cacharle #+# #+# */ -/* Updated: 2019/10/17 08:04:04 by cacharle ### ########.fr */ +/* Updated: 2019/10/17 15:25:44 by cacharle ### ########.fr */ /* */ /* ************************************************************************** */ -#define MIN_INT (1 << 31) -#define MAX_INT (~(1 << 31)) +#define MIN_INT -2147483648 +#define MAX_INT 2147483647 static int precheck(const char **str) { diff --git a/ft_bzero.c b/ft_bzero.c index 6a4e3cc..93af87a 100644 --- a/ft_bzero.c +++ b/ft_bzero.c @@ -6,7 +6,7 @@ /* By: cacharle +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2019/10/07 09:50:10 by cacharle #+# #+# */ -/* Updated: 2019/10/07 12:08:09 by cacharle ### ########.fr */ +/* Updated: 2019/10/18 12:26:42 by cacharle ### ########.fr */ /* */ /* ************************************************************************** */ diff --git a/ft_calloc.c b/ft_calloc.c index 622bdd2..3d1568d 100644 --- a/ft_calloc.c +++ b/ft_calloc.c @@ -6,7 +6,7 @@ /* By: cacharle +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2019/10/07 12:45:37 by cacharle #+# #+# */ -/* Updated: 2019/10/09 12:45:31 by cacharle ### ########.fr */ +/* Updated: 2019/10/18 13:00:38 by cacharle ### ########.fr */ /* */ /* ************************************************************************** */ @@ -17,8 +17,6 @@ void *ft_calloc(size_t count, size_t size) { void *mem; - if (count == 0 || size == 0) - return (NULL); if ((mem = malloc(count * size)) == NULL) return (NULL); ft_bzero(mem, count * size); diff --git a/ft_lstadd_back_bonus.c b/ft_lstadd_back_bonus.c index 6d5e72a..4a7f758 100644 --- a/ft_lstadd_back_bonus.c +++ b/ft_lstadd_back_bonus.c @@ -6,7 +6,7 @@ /* By: cacharle +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2019/10/09 09:02:03 by cacharle #+# #+# */ -/* Updated: 2019/10/17 09:07:15 by cacharle ### ########.fr */ +/* Updated: 2019/10/18 12:21:08 by cacharle ### ########.fr */ /* */ /* ************************************************************************** */ @@ -24,8 +24,5 @@ void ft_lstadd_back(t_list **alst, t_list *new) *alst = new; return ; } - cursor = *alst; - while (cursor->next != NULL) - cursor = cursor->next; - cursor->next = new; + ft_lstlast(*alst)->next = new; } diff --git a/ft_lstadd_front_bonus.c b/ft_lstadd_front_bonus.c index 462f85e..282b0b4 100644 --- a/ft_lstadd_front_bonus.c +++ b/ft_lstadd_front_bonus.c @@ -6,7 +6,7 @@ /* By: cacharle +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2019/10/09 09:02:25 by cacharle #+# #+# */ -/* Updated: 2019/10/17 09:06:38 by cacharle ### ########.fr */ +/* Updated: 2019/10/18 12:16:06 by cacharle ### ########.fr */ /* */ /* ************************************************************************** */ @@ -14,7 +14,7 @@ void ft_lstadd_front(t_list **alst, t_list *new) { - if (alst == NULL) + if (alst == NULL || new == NULL) return ; new->next = *alst; *alst = new; diff --git a/ft_lstclear_bonus.c b/ft_lstclear_bonus.c index ca80fb2..e8f0541 100644 --- a/ft_lstclear_bonus.c +++ b/ft_lstclear_bonus.c @@ -6,7 +6,7 @@ /* By: cacharle +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2019/10/09 09:02:39 by cacharle #+# #+# */ -/* Updated: 2019/10/17 09:03:58 by cacharle ### ########.fr */ +/* Updated: 2019/10/17 11:03:13 by cacharle ### ########.fr */ /* */ /* ************************************************************************** */ @@ -15,7 +15,9 @@ void ft_lstclear(t_list **lst, void (*del)(void *)) { - if (*lst == NULL || lst == NULL || del == NULL) + if (lst == NULL || del == NULL) + return ; + if (*lst == NULL) return ; ft_lstclear(&((*lst)->next), del); ft_lstdelone(*lst, del); diff --git a/ft_lstdelone_bonus.c b/ft_lstdelone_bonus.c index df15e3e..9030da3 100644 --- a/ft_lstdelone_bonus.c +++ b/ft_lstdelone_bonus.c @@ -6,7 +6,7 @@ /* By: cacharle +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2019/10/09 09:03:02 by cacharle #+# #+# */ -/* Updated: 2019/10/17 09:05:40 by cacharle ### ########.fr */ +/* Updated: 2019/10/18 12:20:38 by cacharle ### ########.fr */ /* */ /* ************************************************************************** */ @@ -15,7 +15,8 @@ void ft_lstdelone(t_list *lst, void (*del)(void *)) { - if (lst != NULL && del != NULL) - (*del)(lst->content); + if (lst == NULL || del == NULL) + return ; + (*del)(lst->content); free(lst); } diff --git a/ft_memccpy.c b/ft_memccpy.c index 20104ab..60895cf 100644 --- a/ft_memccpy.c +++ b/ft_memccpy.c @@ -6,7 +6,7 @@ /* By: cacharle +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2019/10/07 10:01:53 by cacharle #+# #+# */ -/* Updated: 2019/10/07 10:03:07 by cacharle ### ########.fr */ +/* Updated: 2019/10/18 14:17:34 by cacharle ### ########.fr */ /* */ /* ************************************************************************** */ diff --git a/ft_memcmp.c b/ft_memcmp.c index 32a2cc4..22c5c21 100644 --- a/ft_memcmp.c +++ b/ft_memcmp.c @@ -6,7 +6,7 @@ /* By: cacharle +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2019/10/07 09:56:44 by cacharle #+# #+# */ -/* Updated: 2019/10/07 09:59:58 by cacharle ### ########.fr */ +/* Updated: 2019/10/18 13:08:03 by cacharle ### ########.fr */ /* */ /* ************************************************************************** */ diff --git a/ft_memcpy.c b/ft_memcpy.c index da243f2..30943f6 100644 --- a/ft_memcpy.c +++ b/ft_memcpy.c @@ -6,7 +6,7 @@ /* By: cacharle +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2019/10/07 10:00:07 by cacharle #+# #+# */ -/* Updated: 2019/10/07 10:00:46 by cacharle ### ########.fr */ +/* Updated: 2019/10/18 13:47:52 by cacharle ### ########.fr */ /* */ /* ************************************************************************** */ diff --git a/ft_memset.c b/ft_memset.c index 9e3a541..b5520db 100644 --- a/ft_memset.c +++ b/ft_memset.c @@ -6,7 +6,7 @@ /* By: cacharle +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2019/10/07 10:01:23 by cacharle #+# #+# */ -/* Updated: 2019/10/07 10:01:38 by cacharle ### ########.fr */ +/* Updated: 2019/10/18 13:08:10 by cacharle ### ########.fr */ /* */ /* ************************************************************************** */ diff --git a/ft_putendl.c b/ft_putendl.c index fb40829..719331b 100644 --- a/ft_putendl.c +++ b/ft_putendl.c @@ -6,7 +6,7 @@ /* By: cacharle +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2019/10/07 10:42:54 by cacharle #+# #+# */ -/* Updated: 2019/10/07 13:24:18 by cacharle ### ########.fr */ +/* Updated: 2019/10/18 12:08:37 by cacharle ### ########.fr */ /* */ /* ************************************************************************** */ diff --git a/ft_strdup.c b/ft_strdup.c index ff02812..f0f8a06 100644 --- a/ft_strdup.c +++ b/ft_strdup.c @@ -6,7 +6,7 @@ /* By: cacharle +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2019/10/07 10:18:07 by cacharle #+# #+# */ -/* Updated: 2019/10/14 14:47:49 by cacharle ### ########.fr */ +/* Updated: 2019/10/18 14:28:41 by cacharle ### ########.fr */ /* */ /* ************************************************************************** */ diff --git a/ft_strlcpy.c b/ft_strlcpy.c index 3f287a3..70e922b 100644 --- a/ft_strlcpy.c +++ b/ft_strlcpy.c @@ -6,7 +6,7 @@ /* By: cacharle +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2019/10/07 12:28:47 by cacharle #+# #+# */ -/* Updated: 2019/10/07 12:33:40 by cacharle ### ########.fr */ +/* Updated: 2019/10/18 13:07:51 by cacharle ### ########.fr */ /* */ /* ************************************************************************** */ diff --git a/ft_strlen.c b/ft_strlen.c index 9d62897..8a5431b 100644 --- a/ft_strlen.c +++ b/ft_strlen.c @@ -6,7 +6,7 @@ /* By: cacharle +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2019/10/07 10:32:48 by cacharle #+# #+# */ -/* Updated: 2019/10/07 10:32:59 by cacharle ### ########.fr */ +/* Updated: 2019/10/18 13:07:56 by cacharle ### ########.fr */ /* */ /* ************************************************************************** */ diff --git a/ft_strncmp.c b/ft_strncmp.c index 7246d5b..f11e5cd 100644 --- a/ft_strncmp.c +++ b/ft_strncmp.c @@ -6,7 +6,7 @@ /* By: cacharle +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2019/10/07 10:27:34 by cacharle #+# #+# */ -/* Updated: 2019/10/07 10:27:59 by cacharle ### ########.fr */ +/* Updated: 2019/10/18 14:25:17 by cacharle ### ########.fr */ /* */ /* ************************************************************************** */ diff --git a/ft_strnstr.c b/ft_strnstr.c index 0074c8e..0dc21d2 100644 --- a/ft_strnstr.c +++ b/ft_strnstr.c @@ -6,7 +6,7 @@ /* By: cacharle +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2019/10/07 10:25:13 by cacharle #+# #+# */ -/* Updated: 2019/10/15 07:55:12 by cacharle ### ########.fr */ +/* Updated: 2019/10/18 14:26:28 by cacharle ### ########.fr */ /* */ /* ************************************************************************** */ diff --git a/ft_substr.c b/ft_substr.c index 1c23e85..88f7203 100644 --- a/ft_substr.c +++ b/ft_substr.c @@ -6,7 +6,7 @@ /* By: cacharle +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2019/10/17 08:28:49 by cacharle #+# #+# */ -/* Updated: 2019/10/17 08:28:55 by cacharle ### ########.fr */ +/* Updated: 2019/10/18 11:55:44 by cacharle ### ########.fr */ /* */ /* ************************************************************************** */ @@ -18,15 +18,18 @@ char *ft_substr(char const *s, unsigned int start, size_t len) unsigned int i; char *sub; - if (start > ft_strlen(s)) + if (s == NULL) return (NULL); if ((sub = (char*)malloc(sizeof(char) * (len + 1))) == NULL) return (NULL); i = 0; - while (i < len) + if (!(start > ft_strlen(s))) { - sub[i] = s[start + i]; - i++; + while (i < len && s[start + i]) + { + sub[i] = s[start + i]; + i++; + } } sub[i] = '\0'; return (sub); -- cgit