diff options
author | Rudy Bousset <rbousset@z2r5p6.le-101.fr> | 2019-10-29 12:25:57 +0100 |
---|---|---|
committer | Rudy Bousset <rbousset@z2r5p6.le-101.fr> | 2019-10-29 12:25:57 +0100 |
commit | 507661351ca718c8a3d8213a0a80f994825fc881 (patch) | |
tree | eb9192a57e884e5bcf96f79d98cf7659924ce1df /libft/ft_strjoin.c | |
parent | Makefile complete (diff) | |
download | 42-minishell-507661351ca718c8a3d8213a0a80f994825fc881.tar.gz 42-minishell-507661351ca718c8a3d8213a0a80f994825fc881.tar.bz2 42-minishell-507661351ca718c8a3d8213a0a80f994825fc881.tar.xz 42-minishell-507661351ca718c8a3d8213a0a80f994825fc881.tar.zst 42-minishell-507661351ca718c8a3d8213a0a80f994825fc881.zip |
libft included
Diffstat (limited to '')
-rw-r--r-- | libft/ft_strjoin.c | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/libft/ft_strjoin.c b/libft/ft_strjoin.c new file mode 100644 index 0000000..f666781 --- /dev/null +++ b/libft/ft_strjoin.c @@ -0,0 +1,68 @@ +/* ************************************************************************** */ +/* LE - / */ +/* / */ +/* ft_strjoin.c .:: .:/ . .:: */ +/* +:+:+ +: +: +:+:+ */ +/* By: rbousset <marvin@le-101.fr> +:+ +: +: +:+ */ +/* #+# #+ #+ #+# */ +/* Created: 2019/10/12 16:35:23 by rbousset #+# ## ## #+# */ +/* Updated: 2019/10/13 08:36:17 by rbousset ### #+. /#+ ###.fr */ +/* / */ +/* / */ +/* ************************************************************************** */ + +#include "libft.h" +#include <stdlib.h> + +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); +} |