/* ************************************************************************** */ /* */ /* ::: :::::::: */ /* get_next_line_utils.c :+: :+: :+: */ /* +:+ +:+ +:+ */ /* By: erey-bet +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2022/11/07 17:19:41 by erey-bet #+# #+# */ /* Updated: 2022/11/07 17:19:42 by erey-bet ### ########.fr */ /* */ /* ************************************************************************** */ #include "get_next_line.h" void *ft_calloc(size_t nitems, size_t size) { size_t i; char *tmp; if (nitems == 0 || size == 0) return (malloc(0)); if (nitems * size < nitems) return (NULL); tmp = malloc(nitems * size); if (tmp == NULL) return (NULL); i = 0; while (i < nitems * size) { tmp[i] = '\0'; i++; } return (tmp); } size_t ft_strlen(const char *str) { int i; if (str == NULL) return (0); i = 0; while (str[i] != '\0') i++; return (i); } int ft_strchr(const char *str, int search) { int i; i = 0; while (str[i] || str[i] == (unsigned char)search) { if (str[i] == (unsigned char)search) return (i); i++; } return (-1); } void ft_strlcpy(char *dest, const char *src, size_t size) { size_t i; i = 0; if (!size || !dest || !src) return ; while (i < size - 1 && src[i] != '\0') { dest[i] = src[i]; i++; } dest[i] = '\0'; } void *ft_realloc(void *ptr, size_t new_size) { char *str; char *p; int i; i = -1; p = ptr; str = ft_calloc(ft_strlen(p) + 1, 1); while (p[++i]) str[i] = p[i]; str[i] = '\0'; free(ptr); p = ft_calloc(new_size, 1); if (p == NULL) return (NULL); i = 0; while (str[i]) { p[i] = str[i]; i++; } p[i] = '\0'; ptr = p; free(str); str = NULL; return (ptr); }