/* ************************************************************************** */ /* */ /* ::: :::::::: */ /* lm_initdata.c :+: :+: :+: */ /* +:+ +:+ +:+ */ /* By: tmaze +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2019/03/23 17:43:34 by tmaze #+# #+# */ /* Updated: 2019/05/02 12:52:26 by mndhlovu ### ########.fr */ /* */ /* ************************************************************************** */ #include "lem_in.h" void lm_initdata(t_lmdata *data) { data->nbants = 0; data->nodes_data = NULL; data->adj = NULL; } void lm_check_start_vert(int count, t_syntax *synt, t_lmdata *ldata, char *line) { if ((synt->s_pos < synt->e_pos) && lm_check_forbiden_chars(line, 0)) { if ((count > synt->s_pos && count < synt->e_pos) && (!synt->s_vert)) { if ((lm_add_vertex(ldata, line, 's', synt))) synt->s_vert = count; else synt->s_error = 1; } } if ((synt->s_pos > synt->e_pos) && lm_check_forbiden_chars(line, 0)) { if (!synt->s_vert) { if ((lm_add_vertex(ldata, line, 's', synt))) synt->s_vert = count; else synt->s_error = 1; } } } void lm_check_end_vert(int count, t_syntax *synt, t_lmdata *ldata, char *line) { if((synt->e_pos < synt->s_pos) && lm_check_forbiden_chars(line, 0)) { if ((count > synt->e_pos && count < synt->s_pos) && (!synt->e_vert)) { if ((lm_add_vertex(ldata, line, 'e', synt))) synt->e_vert = count; else synt->e_error = 1; } } if ((synt->e_pos > synt->s_pos) && lm_check_forbiden_chars(line, 0)) { if (!synt->e_vert) { if ((lm_add_vertex(ldata, line, 'e', synt))) synt->e_vert = count; else synt->e_error = 1; } } } int lm_init_src_dest(int *src, int *dest, t_lmdata *data , char *raw) { int s; int d; char **tab; if (raw != NULL) { tab = ft_strsplit(raw, '-'); if (tab != NULL) { s = lm_find_index(data, tab[0]); d = lm_find_index(data, tab[1]); if (s == -1 || d == -1) { ft_del_words_tables(&tab); return (0); } *src = s; *dest = d; ft_del_words_tables(&tab); return (1); } } ft_del_words_tables(&tab); return (0); }