ft_strsub.c 1.2 KB

1234567891011121314151617181920212223242526272829303132333435
  1. /* ************************************************************************** */
  2. /* */
  3. /* ::: :::::::: */
  4. /* ft_strsub.c :+: :+: :+: */
  5. /* +:+ +:+ +:+ */
  6. /* By: bchanot <bchanot@students.42.fr> +#+ +:+ +#+ */
  7. /* +#+#+#+#+#+ +#+ */
  8. /* Created: 2015/11/26 18:22:34 by bchanot #+# #+# */
  9. /* Updated: 2016/09/13 12:35:48 by bchanot ### ########.fr */
  10. /* */
  11. /* ************************************************************************** */
  12. #include "libft.h"
  13. #include <stdlib.h>
  14. char *ft_strsub(char const *s, unsigned int start, size_t len, int bool)
  15. {
  16. char *str;
  17. size_t cpt;
  18. str = ft_strnew(len);
  19. if (!s || start > ft_strlen(s) || !str)
  20. return (NULL);
  21. cpt = 0;
  22. while (cpt < len && s[start])
  23. {
  24. str[cpt] = s[start];
  25. cpt++;
  26. start++;
  27. }
  28. str[cpt] = '\0';
  29. if (bool)
  30. free((char *)s);
  31. return (str);
  32. }