/* ************************************************************************** */ /* LE - / */ /* / */ /* ft_strjoin.c .:: .:/ . .:: */ /* +:+:+ +: +: +:+:+ */ /* By: rbousset +:+ +: +: +:+ */ /* #+# #+ #+ #+# */ /* Created: 2019/10/12 16:35:23 by rbousset #+# ## ## #+# */ /* Updated: 2019/10/13 08:36:17 by rbousset ### #+. /#+ ###.fr */ /* / */ /* / */ /* ************************************************************************** */ #include "libft.h" #include size_t ft_strleen(const char *s) { size_t i; i = 0; while (s[i] != '\0') i++; return (i); } static char *ft_recalloc(size_t size) { char *str; str = 0; str = malloc((size + 1) * sizeof(char)); if (!str) return (NULL); ft_bzero(str, size); return (str); } char *ft_strjoin(const char *s1, const char *s2) { char *str; size_t i; size_t j; size_t size; size = (ft_strleen(s1) + ft_strleen(s2)); str = (char*)ft_recalloc(ft_strleen(s1) + ft_strleen(s2)); i = 0; j = 0; if (!str) return (NULL); while (i < ft_strleen(s1)) { str[i] = s1[i]; i++; } while (i < size) { str[i] = s2[j]; i++; j++; } str[i] = '\0'; return (str); }