From 4cb79ae64430149296934e50b3f3ad7423fdee71 Mon Sep 17 00:00:00 2001 From: Jack Halford Date: Thu, 10 Nov 2016 12:28:45 +0100 Subject: [PATCH] sstrfree --- libft/includes/libft.h | 5 +++-- libft/src/sstr/ft_sstradd.c | 5 +++-- libft/src/sstr/ft_sstrfree.c | 25 +++++++++++++++++++++++++ 3 files changed, 31 insertions(+), 4 deletions(-) create mode 100644 libft/src/sstr/ft_sstrfree.c diff --git a/libft/includes/libft.h b/libft/includes/libft.h index c6e8c0b6..b51bd194 100644 --- a/libft/includes/libft.h +++ b/libft/includes/libft.h @@ -6,7 +6,7 @@ /* By: jhalford +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2016/11/07 13:49:04 by jhalford #+# #+# */ -/* Updated: 2016/11/08 11:25:08 by jhalford ### ########.fr */ +/* Updated: 2016/11/10 12:14:04 by jhalford ### ########.fr */ /* */ /* ************************************************************************** */ @@ -106,11 +106,12 @@ size_t ft_uilen(unsigned int n); size_t ft_lllen(long long n); size_t ft_lllen_base(long long n, int base); +char **ft_sstradd(char **list, char *new); void ft_sstrsort(char **list, int size, int (*cmp)()); void ft_sstrprint(char **list, char sep); char **ft_sstrdup(char **list); -char **ft_sstradd(char **list, char *new); void ft_sstrdel(char **sstr, int index); +void ft_sstrfree(char **sstr); int ft_time_isrecent(time_t event); diff --git a/libft/src/sstr/ft_sstradd.c b/libft/src/sstr/ft_sstradd.c index 4ec7bac9..e88b1651 100644 --- a/libft/src/sstr/ft_sstradd.c +++ b/libft/src/sstr/ft_sstradd.c @@ -6,7 +6,7 @@ /* By: jhalford +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2016/11/03 18:03:58 by jhalford #+# #+# */ -/* Updated: 2016/11/03 18:04:23 by jhalford ### ########.fr */ +/* Updated: 2016/11/10 12:15:23 by jhalford ### ########.fr */ /* */ /* ************************************************************************** */ @@ -22,7 +22,8 @@ char **ft_sstradd(char **sstr, char *new) size = 0; while (sstr && sstr[size]) size++; - newlist = (char **)malloc(sizeof(char *) * (size + 3)); + if (!(newlist = (char **)malloc(sizeof(char *) * (size + 2)))) + return (NULL); while (sstr && *sstr) newlist[i++] = *sstr++; newlist[i++] = new; diff --git a/libft/src/sstr/ft_sstrfree.c b/libft/src/sstr/ft_sstrfree.c new file mode 100644 index 00000000..05686e2b --- /dev/null +++ b/libft/src/sstr/ft_sstrfree.c @@ -0,0 +1,25 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_sstrfree.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: jhalford +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2016/11/08 17:01:24 by jhalford #+# #+# */ +/* Updated: 2016/11/10 12:11:20 by jhalford ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "libft.h" + +void ft_sstrfree(char **sstr) +{ + int i; + + i = 0; + while (sstr[i]) + { + ft_strdel(sstr + i); + i++; + } +}