so_long/libft/ft_strjoin_free.c
2022-12-14 20:06:15 +01:00

34 lines
1.2 KiB
C

/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* ft_strjoin_free.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: erey-bet <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2022/07/27 14:47:27 by erey-bet #+# #+# */
/* Updated: 2022/12/13 13:24:11 by erey-bet ### ########.fr */
/* */
/* ************************************************************************** */
#include "libft.h"
char *ft_strjoin_free(char *s1, char *s2, int b)
{
char *tmp;
int size;
if (s1 == NULL || s2 == NULL)
return (NULL);
size = ft_strlen(s1) + ft_strlen(s2) + 1;
tmp = ft_calloc(size, 1);
if (tmp == NULL)
return (NULL);
ft_strlcpy(tmp, s1, size);
ft_strlcat(tmp, s2, size);
if (b > 0)
free(s1);
if (b > 1)
free(s2);
return (tmp);
}