ft_strtrim.c 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. /* ************************************************************************** */
  2. /* */
  3. /* ::: :::::::: */
  4. /* ft_strtrim.c :+: :+: :+: */
  5. /* +:+ +:+ +:+ */
  6. /* By: bchanot <bchanot@students.42.fr> +#+ +:+ +#+ */
  7. /* +#+#+#+#+#+ +#+ */
  8. /* Created: 2015/11/26 20:22:02 by bchanot #+# #+# */
  9. /* Updated: 2018/10/29 11:52:57 by bchanot ### ########.fr */
  10. /* */
  11. /* ************************************************************************** */
  12. #include "libft.h"
  13. char *ft_strtrim(const char *const src)
  14. {
  15. char *s;
  16. int len;
  17. int i;
  18. i = 0;
  19. if (!src)
  20. return (NULL);
  21. len = ft_strlen(src) - 1;
  22. while (len >= 0 && (src[len] == ' ' || src[len] == '\n' ||
  23. src[len] == '\t'))
  24. len--;
  25. if (len == -1)
  26. return (NULL);
  27. len++;
  28. while ((i < len) && (src[i] == ' ' || src[i] == '\n' || src[i] == '\t'))
  29. i++;
  30. len -= i;
  31. s = ft_strsub((char *)src, i, len);
  32. if (!s)
  33. return (NULL);
  34. s[len] = '\0';
  35. return (s);
  36. }