diff --git a/ft_lstmap.c b/ft_lstmap.c index 4defe89..86be818 100644 --- a/ft_lstmap.c +++ b/ft_lstmap.c @@ -6,7 +6,7 @@ /* By: tmaze +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2018/04/08 19:54:31 by tmaze #+# #+# */ -/* Updated: 2018/04/09 09:35:00 by tmaze ### ########.fr */ +/* Updated: 2018/04/10 14:31:03 by tmaze ### ########.fr */ /* */ /* ************************************************************************** */ @@ -24,11 +24,14 @@ t_list *ft_lstmap(t_list *lst, t_list *(*f)(t_list *elem)) t_list *new; ret = NULL; - if (lst->next != NULL) - ret = ft_lstmap(lst->next, f); - if ((new = (*f)(lst)) == NULL) - ft_lstdel(&ret, &ft_lstdelmem); - else - ft_lstadd(&ret, new); + if (lst != NULL && f != NULL) + { + if (lst->next != NULL) + ret = ft_lstmap(lst->next, f); + if ((new = (*f)(lst)) == NULL) + ft_lstdel(&ret, &ft_lstdelmem); + else + ft_lstadd(&ret, new); + } return (ret); } diff --git a/ft_putendl.c b/ft_putendl.c index a930d03..c2858e6 100644 --- a/ft_putendl.c +++ b/ft_putendl.c @@ -6,7 +6,7 @@ /* By: tmaze +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2018/04/07 22:37:44 by tmaze #+# #+# */ -/* Updated: 2018/04/07 22:41:00 by tmaze ### ########.fr */ +/* Updated: 2018/04/10 14:24:26 by tmaze ### ########.fr */ /* */ /* ************************************************************************** */ @@ -14,6 +14,9 @@ void ft_putendl(char const *s) { - ft_putstr(s); - ft_putchar('\n'); + if (s != NULL) + { + ft_putstr(s); + ft_putchar('\n'); + } } diff --git a/ft_putendl_fd.c b/ft_putendl_fd.c index 762252a..365dcbd 100644 --- a/ft_putendl_fd.c +++ b/ft_putendl_fd.c @@ -6,7 +6,7 @@ /* By: tmaze +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2018/04/08 13:02:13 by tmaze #+# #+# */ -/* Updated: 2018/04/08 13:04:25 by tmaze ### ########.fr */ +/* Updated: 2018/04/10 14:27:49 by tmaze ### ########.fr */ /* */ /* ************************************************************************** */ @@ -14,6 +14,9 @@ void ft_putendl_fd(char const *s, int fd) { - ft_putstr_fd(s, fd); - ft_putchar_fd('\n', fd); + if (s != NULL && fd >= 0) + { + ft_putstr_fd(s, fd); + ft_putchar_fd('\n', fd); + } } diff --git a/ft_putstr.c b/ft_putstr.c index 7a2c08e..a195431 100644 --- a/ft_putstr.c +++ b/ft_putstr.c @@ -6,7 +6,7 @@ /* By: tmaze +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2018/04/07 19:13:17 by tmaze #+# #+# */ -/* Updated: 2018/04/07 19:16:28 by tmaze ### ########.fr */ +/* Updated: 2018/04/10 14:20:31 by tmaze ### ########.fr */ /* */ /* ************************************************************************** */ @@ -14,5 +14,6 @@ void ft_putstr(char const *s) { - write(1, s, ft_strlen(s)); + if (s != NULL) + write(1, s, ft_strlen(s)); } diff --git a/ft_putstr_fd.c b/ft_putstr_fd.c index c911ccf..89d46e0 100644 --- a/ft_putstr_fd.c +++ b/ft_putstr_fd.c @@ -6,7 +6,7 @@ /* By: tmaze +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2018/04/07 23:06:30 by tmaze #+# #+# */ -/* Updated: 2018/04/07 23:08:07 by tmaze ### ########.fr */ +/* Updated: 2018/04/10 14:26:43 by tmaze ### ########.fr */ /* */ /* ************************************************************************** */ @@ -14,5 +14,6 @@ void ft_putstr_fd(char const *s, int fd) { - write(fd, s, ft_strlen(s)); + if (s != NULL && fd >= 0) + write(fd, s, ft_strlen(s)); } diff --git a/ft_strclr.c b/ft_strclr.c index d144946..61297fa 100644 --- a/ft_strclr.c +++ b/ft_strclr.c @@ -6,7 +6,7 @@ /* By: tmaze +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2018/04/06 23:27:33 by tmaze #+# #+# */ -/* Updated: 2018/04/07 11:16:10 by tmaze ### ########.fr */ +/* Updated: 2018/04/10 14:04:24 by tmaze ### ########.fr */ /* */ /* ************************************************************************** */ @@ -17,6 +17,7 @@ void ft_strclr(char *s) int i; i = 0; - while (s[i]) - s[i++] = '\0'; + if (s != NULL) + while (s[i]) + s[i++] = '\0'; } diff --git a/ft_strequ.c b/ft_strequ.c index 3acdbda..bb42a96 100644 --- a/ft_strequ.c +++ b/ft_strequ.c @@ -6,7 +6,7 @@ /* By: tmaze +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2018/04/07 15:10:56 by tmaze #+# #+# */ -/* Updated: 2018/04/07 15:12:29 by tmaze ### ########.fr */ +/* Updated: 2018/04/10 14:09:20 by tmaze ### ########.fr */ /* */ /* ************************************************************************** */ @@ -14,5 +14,5 @@ int ft_strequ(char const *s1, char const *s2) { - return (ft_strcmp(s1, s2) == 0); + return ((s1 != NULL && s2 != NULL) ? ft_strcmp(s1, s2) == 0 : 0); } diff --git a/ft_striter.c b/ft_striter.c index cecf2ad..74e24a2 100644 --- a/ft_striter.c +++ b/ft_striter.c @@ -6,7 +6,7 @@ /* By: tmaze +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2018/04/07 11:17:26 by tmaze #+# #+# */ -/* Updated: 2018/04/07 11:41:57 by tmaze ### ########.fr */ +/* Updated: 2018/04/10 14:05:25 by tmaze ### ########.fr */ /* */ /* ************************************************************************** */ @@ -17,6 +17,7 @@ void ft_striter(char *s, void (*f)(char*)) unsigned int i; i = 0; - while (s[i]) - (*f)(&s[i++]); + if (s != NULL && f != NULL) + while (s[i]) + (*f)(&s[i++]); } diff --git a/ft_striteri.c b/ft_striteri.c index 218eb6a..b3b6db3 100644 --- a/ft_striteri.c +++ b/ft_striteri.c @@ -6,7 +6,7 @@ /* By: tmaze +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2018/04/07 11:36:12 by tmaze #+# #+# */ -/* Updated: 2018/04/07 11:48:32 by tmaze ### ########.fr */ +/* Updated: 2018/04/10 14:06:17 by tmaze ### ########.fr */ /* */ /* ************************************************************************** */ @@ -17,6 +17,7 @@ void ft_striteri(char *s, void (*f)(unsigned int, char*)) unsigned int i; i = -1; - while (s[++i]) - (*f)(i, &s[i]); + if (s != NULL && f != NULL) + while (s[++i]) + (*f)(i, &s[i]); } diff --git a/ft_strjoin.c b/ft_strjoin.c index 4a57be6..c44d528 100644 --- a/ft_strjoin.c +++ b/ft_strjoin.c @@ -6,7 +6,7 @@ /* By: tmaze +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2018/04/07 16:30:47 by tmaze #+# #+# */ -/* Updated: 2018/04/07 16:56:01 by tmaze ### ########.fr */ +/* Updated: 2018/04/10 14:11:36 by tmaze ### ########.fr */ /* */ /* ************************************************************************** */ @@ -16,7 +16,9 @@ char *ft_strjoin(char const *s1, char const *s2) { char *ret; - if ((ret = ft_strnew(ft_strlen(s1) + ft_strlen(s2))) != NULL) + ret = NULL; + if (s1 != NULL && s2 != NULL &&\ + (ret = ft_strnew(ft_strlen(s1) + ft_strlen(s2))) != NULL) { ft_strcpy(ret, s1); ft_strcat(ret, s2); diff --git a/ft_strlcpy.c b/ft_strlcpy.c index 4029d08..c38c6ae 100644 --- a/ft_strlcpy.c +++ b/ft_strlcpy.c @@ -6,7 +6,7 @@ /* By: tmaze +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2018/04/09 11:55:11 by tmaze #+# #+# */ -/* Updated: 2018/04/09 13:27:12 by tmaze ### ########.fr */ +/* Updated: 2018/04/10 14:36:45 by tmaze ### ########.fr */ /* */ /* ************************************************************************** */ @@ -16,8 +16,11 @@ size_t ft_strlcpy(char *restrict dst, const char *restrict src, size_t size) { size_t src_len; - src_len = (size_t)ft_strlen(src); - dst = ft_strncpy(dst, src, (src_len > size) ? size : src_len); - dst[(src_len > size) ? size - 1 : src_len] = '\0'; - return (ft_strlen(src)); + if (dst != NULL && src != NULL) + { + src_len = (size_t)ft_strlen(src); + dst = ft_strncpy(dst, src, (src_len > size) ? size : src_len); + dst[(src_len > size) ? size - 1 : src_len] = '\0'; + } + return ((src != NULL) ? ft_strlen(src) : 0); } diff --git a/ft_strmap.c b/ft_strmap.c index 58da08a..8b17088 100644 --- a/ft_strmap.c +++ b/ft_strmap.c @@ -6,7 +6,7 @@ /* By: tmaze +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2018/04/07 14:57:22 by tmaze #+# #+# */ -/* Updated: 2018/04/07 15:00:12 by tmaze ### ########.fr */ +/* Updated: 2018/04/10 14:18:41 by tmaze ### ########.fr */ /* */ /* ************************************************************************** */ @@ -19,9 +19,14 @@ char *ft_strmap(char const *s, char (*f)(char)) size_t s_len; i = -1; - s_len = ft_strlen(s); - ret = ft_strnew(s_len); - while (++i < s_len) - ret[i] = (*f)(s[i]); + s_len = 0; + ret = NULL; + if (s != NULL && f != NULL) + { + s_len = ft_strlen(s); + if ((ret = ft_strnew(s_len)) != NULL) + while (++i < s_len) + ret[i] = (*f)(s[i]); + } return (ret); } diff --git a/ft_strmapi.c b/ft_strmapi.c index db43e65..69056ca 100644 --- a/ft_strmapi.c +++ b/ft_strmapi.c @@ -6,7 +6,7 @@ /* By: tmaze +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2018/04/07 15:00:23 by tmaze #+# #+# */ -/* Updated: 2018/04/07 15:00:24 by tmaze ### ########.fr */ +/* Updated: 2018/04/10 14:19:19 by tmaze ### ########.fr */ /* */ /* ************************************************************************** */ @@ -19,9 +19,14 @@ char *ft_strmapi(char const *s, char (*f)(unsigned int, char)) size_t s_len; i = -1; - s_len = ft_strlen(s); - ret = ft_strnew(s_len); - while (++i < s_len) - ret[i] = (*f)(i, s[i]); + s_len = 0; + ret = NULL; + if (s != NULL && f != NULL) + { + s_len = ft_strlen(s); + if ((ret = ft_strnew(s_len)) != NULL) + while (++i < s_len) + ret[i] = (*f)(i, s[i]); + } return (ret); } diff --git a/ft_strnequ.c b/ft_strnequ.c index 5da4b06..d00b8b6 100644 --- a/ft_strnequ.c +++ b/ft_strnequ.c @@ -6,7 +6,7 @@ /* By: tmaze +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2018/04/07 15:24:01 by tmaze #+# #+# */ -/* Updated: 2018/04/07 15:33:17 by tmaze ### ########.fr */ +/* Updated: 2018/04/10 14:09:47 by tmaze ### ########.fr */ /* */ /* ************************************************************************** */ @@ -14,5 +14,5 @@ int ft_strnequ(char const *s1, char const *s2, size_t n) { - return (ft_strncmp(s1, s2, n) == 0); + return ((s1 != NULL && s2 != NULL) ? ft_strncmp(s1, s2, n) == 0 : 0); } diff --git a/ft_strsplit.c b/ft_strsplit.c index 8d8d517..64593bf 100644 --- a/ft_strsplit.c +++ b/ft_strsplit.c @@ -6,7 +6,7 @@ /* By: tmaze +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2018/04/07 17:54:29 by tmaze #+# #+# */ -/* Updated: 2018/04/08 16:54:13 by tmaze ### ########.fr */ +/* Updated: 2018/04/10 14:12:54 by tmaze ### ########.fr */ /* */ /* ************************************************************************** */ @@ -66,9 +66,16 @@ char **ft_strsplit(char const *s, char c) int nb_words; char **tab; - nb_words = count_words(s, c); - if ((tab = (char**)malloc(sizeof(char**) * (nb_words + 1))) == NULL) + nb_words = 0; + tab = NULL; + if (s != NULL) + { + nb_words = count_words(s, c); + if ((tab = (char**)malloc(sizeof(char**) * (nb_words + 1))) == NULL) + return (NULL); + tab[nb_words] = NULL; + return (get_table(s, c, tab)); + } + else return (NULL); - tab[nb_words] = NULL; - return (get_table(s, c, tab)); } diff --git a/ft_strsub.c b/ft_strsub.c index 46f865d..3014509 100644 --- a/ft_strsub.c +++ b/ft_strsub.c @@ -6,7 +6,7 @@ /* By: tmaze +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2018/04/07 15:35:49 by tmaze #+# #+# */ -/* Updated: 2018/04/07 16:02:41 by tmaze ### ########.fr */ +/* Updated: 2018/04/10 14:16:44 by tmaze ### ########.fr */ /* */ /* ************************************************************************** */ @@ -14,9 +14,10 @@ char *ft_strsub(char const *s, unsigned int start, size_t len) { - char *ret; + char *ret; - if ((ret = ft_strnew(len)) != NULL) + ret = NULL; + if (s != NULL && (ret = ft_strnew(len)) != NULL) ret = ft_strncpy(ret, &s[start], len); return (ret); } diff --git a/ft_strtrim.c b/ft_strtrim.c index 1e24c2c..fcfe047 100644 --- a/ft_strtrim.c +++ b/ft_strtrim.c @@ -6,7 +6,7 @@ /* By: tmaze +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2018/04/07 17:00:34 by tmaze #+# #+# */ -/* Updated: 2018/04/08 16:33:22 by tmaze ### ########.fr */ +/* Updated: 2018/04/10 14:15:23 by tmaze ### ########.fr */ /* */ /* ************************************************************************** */ @@ -20,22 +20,23 @@ char *ft_strtrim(char const *s) size_t len; i = 0; - start = 0; - len = 0; - while (s[i] == ' ' || s[i] == '\n' || s[i] == '\t') - i++; - start = i; - in_word = 1; - while (i == 0 || s[i - 1]) + if (s != NULL) { - if (in_word && (!ft_isprint(s[i]) || s[i] == ' ')) + while (s[i] == ' ' || s[i] == '\n' || s[i] == '\t') + i++; + start = i; + in_word = 1; + while (i == 0 || s[i - 1]) { - len = i - start; - in_word = 0; + if (in_word && (!ft_isprint(s[i]) || s[i] == ' ')) + { + len = i - start; + in_word = 0; + } + else if (!in_word && ft_isprint(s[i]) && s[i] != ' ') + in_word = 1; + i++; } - else if (!in_word && ft_isprint(s[i]) && s[i] != ' ') - in_word = 1; - i++; } - return (ft_strsub(s, start, len)); + return ((s != NULL) ? ft_strsub(s, start, len) : NULL); }