diff --git a/src/competence.c b/src/competence.c index 14d93658080051b5d22e8040b1ebbcbceefd92fb..6be30f55db177863422ebc39133d737a0bfd6f48 100644 --- a/src/competence.c +++ b/src/competence.c @@ -39,7 +39,7 @@ Competence* init_Competence(Competence *noeud) noeud->prix_competence = 0; noeud->frere = NULL; noeud->enfant = NULL; - noeud->effet = NULL; + noeud->effet = malloc(sizeof(Effet_Competence)); noeud->connu = 0; return noeud; @@ -67,12 +67,16 @@ int estVide(Competence *c) int set_comp_enfant(Competence *parent, Competence *nouvel_enfant) /* Ne fonctionne pas */ { + if(estVide(parent)) { + init_Competence(parent->enfant); parent->enfant = nouvel_enfant; } else { + init_Competence(parent->frere); + parent->frere = nouvel_enfant; /* Ne fonctionne pas */ /* Competence *enfant_temp; @@ -343,7 +347,7 @@ int Test_Competences() set_comp_enfant(Comp_Test_Parent, Comp_Test_Frere_Enfant); /* Insertion d'un deuxième enfant (qui doit devenir le frère du premier) */ printf("\nL'enfant de %s est %s\n", Comp_Test_Parent->nomComp, Comp_Test_Parent->enfant->nomComp); - printf("L'autre enfant de %s est %s\n", Comp_Test_Parent->nomComp, Comp_Test_Parent->enfant->frere->nomComp); + printf("L'autre enfant de %s est %s\n", Comp_Test_Parent->nomComp, Comp_Test_Parent->frere->nomComp); return 0;