/* ************************************************************************** */ /* */ /* ::: :::::::: */ /* ft_strjoin_free.c :+: :+: :+: */ /* +:+ +:+ +:+ */ /* By: cacharle +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2019/11/05 21:32:48 by cacharle #+# #+# */ /* Updated: 2019/11/05 22:17:03 by cacharle ### ########.fr */ /* */ /* ************************************************************************** */ #include #include "libft.h" char *ft_strjoin_free(char const *s1, char const *s2, int free_nb) { char *joined; if (s1 == NULL || s2 == NULL) return (NULL); if ((joined = (char*)malloc(sizeof(char) * (ft_strlen(s1) + ft_strlen(s2) + 1))) == NULL) return (NULL); joined = ft_strcpy(joined, s1); joined = ft_strcat(joined, s2); if (free_nb == 1) free((void*)s1); if (free_nb == 2) { free((void*)s1); free((void*)s2); } return (joined); }