diff --git a/dico_test b/dico_test index 0ca773b..8a43220 100644 --- a/dico_test +++ b/dico_test @@ -1,6 +1,7 @@ a +ba aa +ab abc -aabc -aa -ab \ No newline at end of file +c +d \ No newline at end of file diff --git a/main.c b/main.c index 1acc77b..8190046 100644 --- a/main.c +++ b/main.c @@ -1,9 +1,10 @@ #include "tree.h" +#include "find.h" int main() { - FILE* fp = fopen("american-english","r"); - //FILE* fp = fopen("dico_test","r"); + //FILE* fp = fopen("american-english","r"); + FILE* fp = fopen("dico_test","r"); if(fp == NULL) return 1 ; //File is not readable @@ -19,6 +20,9 @@ int main() printf("Loading done!\n"); free_dico(tab);//libérer la mémoire - + fclose(fp); + + printf("Fin du programme\n"); + return 0; } diff --git a/tree.c b/tree.c index 65c73f9..590adcc 100644 --- a/tree.c +++ b/tree.c @@ -77,12 +77,14 @@ void load_tree(FILE *fp, struct node **tab_ptr_tree) void free_tree(struct node *ptr_tree) { - for(int i=0;inbr_fils;i++) + if(ptr_tree==NULL)return; + if(ptr_tree->nbr_fils==0){free(ptr_tree->fils);return;} + for(int i=(ptr_tree->nbr_fils)-1;i>=0;i--) { - if(ptr_tree->fils[i]->nbr_fils!=0)free_tree(ptr_tree->fils[i]); + free_tree(ptr_tree->fils[i]); free(ptr_tree->fils[i]); } - //free(ptr_tree); + free(ptr_tree->fils); } void free_dico(struct node **tab_ptr_tree) @@ -92,6 +94,7 @@ void free_dico(struct node **tab_ptr_tree) if(tab_ptr_tree[i]!=NULL) { free_tree(tab_ptr_tree[i]); + free(tab_ptr_tree[i]); } } } -- libgit2 0.21.2