#include #include #include static int ft_get_tex_no(int fd, t_win *wlist) { char *line; char **words; size_t len; get_next_line(fd, &line); if (!(words = ft_split(line, ' '))) return (ft_exit(5, wlist)); if (!(*words) || ft_strcmp(*words, "NO") || !(*(words + 1)) || (*(words + 2))) return (ft_map_error(2, wlist)); ft_memdel(wlist->clist->no_tex_path); len = ft_strlen(*(words + 1)); if (!(wlist->clist->no_tex_path = (char*)malloc((len + 1) * sizeof(char)))) return (-1); ft_strlcpy(wlist->clist->no_tex_path, *(words + 1), len + 1); ft_free_words(words); ft_memdel(line); return (0); } static int ft_get_tex_so(int fd, t_win *wlist) { char *line; char **words; size_t len; get_next_line(fd, &line); if (!(words = ft_split(line, ' '))) return (ft_exit(5, wlist)); if (!(*words) || ft_strcmp(*words, "SO") || !(*(words + 1)) || (*(words + 2))) return (ft_map_error(3, wlist)); ft_memdel(wlist->clist->so_tex_path); len = ft_strlen(*(words + 1)); if (!(wlist->clist->so_tex_path = (char*)malloc((len + 1) * sizeof(char)))) return (-1); ft_strlcpy(wlist->clist->so_tex_path, *(words + 1), len + 1); ft_free_words(words); ft_memdel(line); return (0); } static int ft_get_tex_we(int fd, t_win *wlist) { char *line; char **words; size_t len; get_next_line(fd, &line); if (!(words = ft_split(line, ' '))) return (ft_exit(5, wlist)); if (!(*words) || ft_strcmp(*words, "WE") || !(*(words + 1)) || (*(words + 2))) return (ft_map_error(4, wlist)); ft_memdel(wlist->clist->we_tex_path); len = ft_strlen(*(words + 1)); if (!(wlist->clist->we_tex_path = (char*)malloc((len + 1) * sizeof(char)))) return (-1); ft_strlcpy(wlist->clist->we_tex_path, *(words + 1), len + 1); ft_free_words(words); ft_memdel(line); return (0); } int ft_get_tex(int fd, t_win *wlist) { if (ft_get_tex_no(fd, wlist) < 0 || ft_get_tex_so(fd, wlist) < 0 || ft_get_tex_we(fd, wlist) < 0) return (-1); return (0); }