#include #include #include #include /* static char */ /* **ft_split_lines(char *line, int count) */ /* { */ /* } */ static int ft_linecpy(char *line, char *mapL) { size_t i; i = 0; while (i < ft_strlen(line)) { mapL[i] = line[i]; i += 2; } mapL[i + 1] = '\n'; return (0); } static int ft_check_err(char *line, size_t size, t_win *wlist) { size_t i; i = 1; if (ft_strlen(line) != size) return (-1); while (i < ft_strlen(line) && line[i]) { if (line[i] != ' ') return (ft_map_error(11, wlist)); i += 2; } return (0); } int ft_get_map(int fd, t_win *wlist) { size_t i; size_t len; char *line; char *mapL; /* ft_free_words(wlist->clist->map, NULL); */ /* if (!(wlist->clist->map = (char**)malloc(40 * sizeof(char*)))) */ /* return (-1); */ if (get_next_line(fd, &line) > 0) { len = ft_strlen(line); ft_check_err(line, len, wlist); if (!(mapL = (char*)malloc((len + 1) * sizeof(char)))) ft_linecpy(line, mapL); ft_memdel(line); } else return (-1); i = 1; while (get_next_line(fd, &line) > 0) { ft_check_err(line, len, wlist); mapL = (char*)ft_nrealloc(mapL, ((len + 1) * i) * sizeof(char), (((len + 1) * i) + ft_strlen(line) + 1) * sizeof(char)); ft_linecpy(line, mapL); ft_memdel(line); i++; } mapL[(i * (len + 1)) + 1] = '\0'; ft_printf("mapL [%s]\n", mapL); wlist->clist->map = ft_split(mapL, '\n'); ft_memdel(mapL); return (0); }