IT WORKS !

functionning ./lem_in that can read maps and display ants path
still need to clean leaks
still need remove debug info
This commit is contained in:
Tanguy MAZE
2019-04-09 19:09:29 +02:00
parent 434b629055
commit 3b893147e5
11 changed files with 364 additions and 235 deletions

View File

@@ -6,34 +6,41 @@
/* By: mndhlovu <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2019/03/25 06:31:37 by mndhlovu #+# #+# */
/* Updated: 2019/03/25 06:31:45 by mndhlovu ### ########.fr */
/* Updated: 2019/04/09 18:27:36 by tmaze ### ########.fr */
/* */
/* ************************************************************************** */
#include "lem_in.h"
void lm_init_data(t_syntax *synt, t_lmdata *ldata,
t_holder *holder)
// void lm_destroy_data(t_syntax *synt, t_holder *holder, t_lmdata *ldata)
// {
// // destroy and free memory
// }
void lm_init_data(t_syntax *synt, t_holder *holder, t_lmdata *ldata)
{
synt->nb_state = 0;
synt->s_cmd = 0;
synt->s_pos = 0;
synt->e_cmd = 0;
synt->e_pos = 0;
synt->gr_status = 0;
synt->error = 0;
synt->e_vert = 0;
synt->s_error = 0;
synt->e_error = 0;
synt->v_error = 0;
synt->l_error = 0;
synt->s_vert = 0;
synt->e_vert = 0;
synt->gr_status = 0;
synt->s_pos = 0;
synt->e_pos = 0;
synt->v_flag = 0;
holder->count = 0;
holder->data = NULL;
ldata->nbants = 0;
ldata->nb_nodes = 0;
ldata->nodes_data = NULL;
ldata->nodes = NULL;
ldata->adj = NULL;
holder->count = 0;
holder->data = NULL;
ldata->adj = NULL;
}
static void lm_add_vertex_sub(t_lmdata *ldata, t_node *new)
static void lm_add_vertex_sub(t_lmdata *ldata, t_node *new)
{
t_node *tmp;
@@ -49,7 +56,7 @@ static void lm_add_vertex_sub(t_lmdata *ldata, t_node *new)
(ldata->nb_nodes)++;
}
int lm_add_vertex(t_lmdata *ldata, char *raw, char flag,
int lm_add_vertex(t_lmdata *ldata, char *raw, char flag,
t_syntax *synt)
{
char **tab;
@@ -75,9 +82,9 @@ int lm_add_vertex(t_lmdata *ldata, char *raw, char flag,
return (0);
}
int lm_find_index(t_lmdata *data, char *str)
int lm_find_index(t_lmdata *data, char *str)
{
t_node *nodes;
t_node *nodes;
nodes = data->nodes_data;
while (nodes)
@@ -89,8 +96,7 @@ int lm_find_index(t_lmdata *data, char *str)
return (-1);
}
int lm_ext_conn(t_holder *holder, t_lmdata *data,
char *raw)
int lm_ext_conn(t_holder *holder, t_lmdata *data, char *raw)
{
char **tab;
t_temp *temp;
@@ -103,6 +109,7 @@ int lm_ext_conn(t_holder *holder, t_lmdata *data,
{
new->src_ind = lm_find_index(data, tab[0]);
new->dest_ind = lm_find_index(data, tab[1]);
new->next = NULL;
if (holder->data == NULL)
holder->data = new;
else
@@ -111,7 +118,6 @@ int lm_ext_conn(t_holder *holder, t_lmdata *data,
while (temp->next)
temp = temp->next;
temp->next = new;
}
(holder->count)++;
return (1);