summaryrefslogtreecommitdiffstats
path: root/libft/src/ft_substr.c
diff options
context:
space:
mode:
authorJozanLeClerc <bousset.rudy@gmail.com>2019-12-27 17:24:35 +0100
committerJozanLeClerc <bousset.rudy@gmail.com>2019-12-27 17:24:35 +0100
commitfc29371a10bf6cfd93c4e9ccfe9193c1311efc98 (patch)
treee5e67174f06e99d945fa2631bbd0648e1fafeec1 /libft/src/ft_substr.c
parentSTDIN corrected (diff)
download42-minishell-fc29371a10bf6cfd93c4e9ccfe9193c1311efc98.tar.gz
42-minishell-fc29371a10bf6cfd93c4e9ccfe9193c1311efc98.tar.bz2
42-minishell-fc29371a10bf6cfd93c4e9ccfe9193c1311efc98.tar.xz
42-minishell-fc29371a10bf6cfd93c4e9ccfe9193c1311efc98.tar.zst
42-minishell-fc29371a10bf6cfd93c4e9ccfe9193c1311efc98.zip
updated libft, better Makefile and .gitignore
Diffstat (limited to 'libft/src/ft_substr.c')
-rw-r--r--libft/src/ft_substr.c23
1 files changed, 12 insertions, 11 deletions
diff --git a/libft/src/ft_substr.c b/libft/src/ft_substr.c
index 87c2568..0cb9733 100644
--- a/libft/src/ft_substr.c
+++ b/libft/src/ft_substr.c
@@ -11,23 +11,24 @@
/* / */
/* ************************************************************************** */
-#include "libft.h"
+#include <libft.h>
+#include <stdlib.h>
#include <stddef.h>
char
*ft_substr(const char *s, unsigned int start, size_t len)
{
- char *nstr;
+ char *nstr;
+ size_t i;
- if (start > ft_strlen(s) - 1)
+ i = 0;
+ if (!(nstr = (char*)malloc((len + 1) * sizeof(char))))
+ return (NULL);
+ while (s[start + i] && i < len)
{
- nstr = (char*)ft_calloc(1, sizeof(char));
- if (!nstr)
- return (NULL);
- return (nstr);
+ nstr[i] = s[start + i];
+ i++;
}
- nstr = (char*)ft_calloc(len + 1, sizeof(char));
- if (!nstr)
- return (NULL);
- return ((char*)ft_memcpy(nstr, s + start, len));
+ nstr[i] = '\0';
+ return (nstr);
}