/* ************************************************************************** */ /* */ /* ::: :::::::: */ /* get_next_line_utils.c :+: :+: :+: */ /* +:+ +:+ +:+ */ /* By: sadjigui +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2021/06/28 15:54:00 by sadjigui #+# #+# */ /* Updated: 2021/06/28 16:04:36 by sadjigui ### ########.fr */ /* */ /* ************************************************************************** */ #include "get_next_line.h" size_t ft_strlen(const char *str) { int i; i = 0; if (!str) return (0); while (str[i]) i++; return (i); } char *ft_strdup(char const *s1) { int i; char *dest; dest = malloc(sizeof(char) * ft_strlen(s1) + 1); if (!dest) return (0); i = 0; while (s1[i] != 0) { dest[i] = s1[i]; i++; } dest[i] = 0; return (dest); } char *ft_substr(char const *s, unsigned int start, size_t len) { char *str; size_t i; size_t j; i = -1; if (!s) return (NULL); j = ft_strlen(s); if (!len || j <= start) return (ft_strdup("")); str = (char *)malloc(sizeof(char) * len + 1); if (!str) return (NULL); j = 0; while (s[++i] && j < len) { if (i >= start) str[j++] = s[i]; } str[j] = '\0'; return (str); } char *ft_strjoin(char const *s1, char const *s2) { int i; char *str; i = 0; str = malloc(sizeof(char) * (ft_strlen(s1) + ft_strlen(s2) + 1)); if (!str) return (NULL); if (s1) { while (s1[i]) { str[i] = s1[i]; i++; } } while (*s2) { str[i] = *s2++; i++; } str[i] = '\0'; return (str); } char *ft_check(char *s, char c) { int i; i = 0; while (s[i]) { if (s[i] == c) return ((char *)&s[i]); i++; } return (NULL); }