diff --git a/includes/lem_in.h b/includes/lem_in.h index 6898070..e03ddad 100644 --- a/includes/lem_in.h +++ b/includes/lem_in.h @@ -6,13 +6,12 @@ /* By: tmaze +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2019/03/23 17:31:19 by tmaze #+# #+# */ -/* Updated: 2019/04/11 10:50:04 by tmaze ### ########.fr */ +/* Updated: 2019/04/11 12:47:51 by mndhlovu ### ########.fr */ /* */ /* ************************************************************************** */ #ifndef LEM_IN_H # define LEM_IN_H - # include "libft.h" # include "limits.h" @@ -104,7 +103,7 @@ int lm_add_vertex(t_lmdata *ldata, char *raw, char flag int lm_ext_conn(t_holder *holder, t_lmdata *data , char *raw); int lm_find_index(t_lmdata *data, char *str); - +void lm_clear_unv(t_holder *holder); int lm_get_value(char *line); void lm_get_cmd_vert(int count, t_syntax *synt , t_lmdata *ldata, char *line); diff --git a/srcs/lem_in.c b/srcs/lem_in.c index a04b3fd..a9a4ff8 100644 --- a/srcs/lem_in.c +++ b/srcs/lem_in.c @@ -6,7 +6,7 @@ /* By: mndhlovu +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2019/03/25 06:31:05 by mndhlovu #+# #+# */ -/* Updated: 2019/04/11 10:50:40 by tmaze ### ########.fr */ +/* Updated: 2019/04/11 12:48:07 by mndhlovu ### ########.fr */ /* */ /* ************************************************************************** */ @@ -41,10 +41,13 @@ static int lem_in(t_syntax *synt, t_holder *holder, { if (!(lm_parser(synt, lmdata, holder))) return (0); + if (!(lm_verify_cmd(synt, holder, data))) + return (0); if (!lst_indinit(lmdata)) return (0); if (!(lm_adj_parser(lmdata, holder))) return (0); + lm_clear_unv(holder); if ((*ret = edmunds_karp(lmdata, get_node_role(lmdata, 's')->ind , get_node_role(lmdata, 'e')->ind)) == NULL) return (0); diff --git a/srcs/lm_check_errors.c b/srcs/lm_check_errors.c index dc1df1a..3fd5942 100644 --- a/srcs/lm_check_errors.c +++ b/srcs/lm_check_errors.c @@ -6,7 +6,7 @@ /* By: mndhlovu +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2019/04/02 08:39:09 by mndhlovu #+# #+# */ -/* Updated: 2019/04/08 15:43:01 by tmaze ### ########.fr */ +/* Updated: 2019/04/11 12:48:13 by mndhlovu ### ########.fr */ /* */ /* ************************************************************************** */ @@ -25,10 +25,28 @@ int lm_check_room_before(char **tab, t_syntax *synt) return (1); } -int lm_verify_cmd(t_syntax *synt) +void lm_clear_unv(t_holder *holder) { - if (synt->s_cmd && synt->e_cmd && synt->v_error - && synt->l_error && synt->e_error) + t_temp *data; + t_temp *flush; + + data = holder->data; + while (tmp) + { + flush = data; + data = data->next; + free(flush); + flush = NULL; + } + holder->data = NULL; +} + +int lm_verify_cmd(t_syntax *synt, t_holder *holder, t_lmdata *data) +{ + if (synt->s_cmd && synt->e_cmd && !synt->v_error + && !synt->l_error && !synt->e_error && !synt->s_error + && synt->nb_state && (holder->count > 0) + && (data->nb_nodes > 0)) return (1); return (0); }