From 03b4d8a03fb1b2cf93aaac0dc9d317ff9c2ba705 Mon Sep 17 00:00:00 2001 From: Charles Date: Mon, 8 Jul 2019 12:12:58 +0200 Subject: c05/c06 normed, c07/c08 begining --- c07/ex00/ft_strdup.c | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 c07/ex00/ft_strdup.c (limited to 'c07/ex00') diff --git a/c07/ex00/ft_strdup.c b/c07/ex00/ft_strdup.c new file mode 100644 index 0000000..c63bd27 --- /dev/null +++ b/c07/ex00/ft_strdup.c @@ -0,0 +1,45 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_strdup.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: cacharle +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2019/07/07 15:39:50 by cacharle #+# #+# */ +/* Updated: 2019/07/08 07:49:52 by cacharle ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include +#include + +int ft_strlen(char *str) +{ + int counter; + + counter = 0; + while (str[counter]) + counter++; + return (counter); +} + +char *ft_strdup(char *src) +{ + int i; + char *dup_ptr; + + dup_ptr = malloc(sizeof(char) * ft_strlen(src)); + if (dup_ptr == NULL) + { + errno = ENOMEM; + return (NULL); + } + i = 0; + while (src[i]) + { + dup_ptr[i] = src[i]; + i++; + } + dup_ptr[i] = '\0'; + return (dup_ptr); +} -- cgit