/* ************************************************************************** */ /* */ /* ::: :::::::: */ /* read_file.c :+: :+: :+: */ /* +:+ +:+ +:+ */ /* By: vmanzoni +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2019/04/13 12:09:46 by vmanzoni #+# #+# */ /* Updated: 2019/04/19 12:50:32 by hulamy ### ########.fr */ /* */ /* ************************************************************************** */ #include "fillit.h" /* ** Function that read and return a ptr to file content */ char *read_file(char *file) { char buf[BUFF_SIZE]; int fd; int rv; int i; char *result; if (((fd = open(file, O_RDONLY)) < 0) \ || ((rv = read(fd, &buf, BUFF_SIZE)) < 0) \ || !(result = malloc(sizeof(char) * rv))) return (NULL); buf[rv] = '\0'; i = 0; while (buf[i]) { result[i] = buf[i]; i++; } result[i] = '\0'; close(fd); return (result); }