aboutsummaryrefslogtreecommitdiff
path: root/ft_substr.c
diff options
context:
space:
mode:
authorCharles <sircharlesaze@gmail.com>2019-10-18 15:31:00 +0200
committerCharles <sircharlesaze@gmail.com>2019-10-18 15:31:00 +0200
commit43e6c82cad5d790c75c918a4eca85cdec894d1c8 (patch)
tree563e14ee8d41f498dbc411629aeafaeb56748402 /ft_substr.c
parent6cb01d2fd8a6b07ef3ddaa8bb322f30c545316e7 (diff)
downloadlibft-43e6c82cad5d790c75c918a4eca85cdec894d1c8.tar.gz
libft-43e6c82cad5d790c75c918a4eca85cdec894d1c8.tar.bz2
libft-43e6c82cad5d790c75c918a4eca85cdec894d1c8.zip
Fixed ft_substr, added a few protection to list functions
Diffstat (limited to 'ft_substr.c')
-rw-r--r--ft_substr.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/ft_substr.c b/ft_substr.c
index 1c23e85..88f7203 100644
--- a/ft_substr.c
+++ b/ft_substr.c
@@ -6,7 +6,7 @@
/* By: cacharle <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2019/10/17 08:28:49 by cacharle #+# #+# */
-/* Updated: 2019/10/17 08:28:55 by cacharle ### ########.fr */
+/* Updated: 2019/10/18 11:55:44 by cacharle ### ########.fr */
/* */
/* ************************************************************************** */
@@ -18,15 +18,18 @@ char *ft_substr(char const *s, unsigned int start, size_t len)
unsigned int i;
char *sub;
- if (start > ft_strlen(s))
+ if (s == NULL)
return (NULL);
if ((sub = (char*)malloc(sizeof(char) * (len + 1))) == NULL)
return (NULL);
i = 0;
- while (i < len)
+ if (!(start > ft_strlen(s)))
{
- sub[i] = s[start + i];
- i++;
+ while (i < len && s[start + i])
+ {
+ sub[i] = s[start + i];
+ i++;
+ }
}
sub[i] = '\0';
return (sub);