diff options
Diffstat (limited to 'ft_strmapi.c')
| -rw-r--r-- | ft_strmapi.c | 42 |
1 files changed, 27 insertions, 15 deletions
diff --git a/ft_strmapi.c b/ft_strmapi.c index da75c98..a03395e 100644 --- a/ft_strmapi.c +++ b/ft_strmapi.c @@ -1,21 +1,33 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* ft_strmapi.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2019/10/07 10:29:32 by cacharle #+# #+# */ +/* Updated: 2019/10/07 10:31:12 by cacharle ### ########.fr */ +/* */ +/* ************************************************************************** */ + #include <stdlib.h> #include "libft.h" -char *ft_strmapi(char const *s, char (*f)(unsigned int, char)) +char *ft_strmapi(char const *s, char (*f)(unsigned int, char)) { - size_t i; - size_t len; - char *mapped; + size_t i; + size_t len; + char *mapped; - len = ft_strlen(s); - if ((mapped = (char*)malloc(sizeof(char) * (len + 1))) == NULL) - return (NULL); - i = 0; - while (i < len) - { - mapped[i] = (*f)((unsigned int)i, s[i]); - i++; - } - mapped[i] = '\0'; - return (mapped); + len = ft_strlen(s); + if ((mapped = (char*)malloc(sizeof(char) * (len + 1))) == NULL) + return (NULL); + i = 0; + while (i < len) + { + mapped[i] = (*f)((unsigned int)i, s[i]); + i++; + } + mapped[i] = '\0'; + return (mapped); } |
