diff --git a/src/II/deux.c b/src/II/deux.c index 1cf9614..75c8e5d 100644 --- a/src/II/deux.c +++ b/src/II/deux.c @@ -40,17 +40,19 @@ Candidature* creerCandidature(void) { return candid; } -void ajouterCandidat(ListeCandidats liste, int* nbCandidats, Candidat* candidat) { - *liste = realloc(*liste, (*nbCandidats+1)*sizeof(Candidat*)); - - if(*liste == NULL) { +void ajouterCandidat(ListeCandidats* listePointer, int* nbCandidats, Candidat* candidat) { + ListeCandidats listeNew = (ListeCandidats) realloc(*listePointer, (*nbCandidats+2)*sizeof(Candidat*)); + + if(listeNew == NULL) { perror("realloc"); exit(errno); } + *listePointer = listeNew; + *nbCandidats+=1; candidat->id = *nbCandidats; - liste[*nbCandidats-1] = candidat; + (*listePointer)[*nbCandidats-1] = candidat; } void ajouterCandidature(Candidat* candidat, Candidature* candidature) { @@ -146,7 +148,7 @@ ListeCandidats readCandidats(int* nbCandidats) { fscanf(fe, "%d", nbCandidats); - ListeCandidats liste = (ListeCandidats) malloc(*nbCandidats*sizeof(Candidat)); + ListeCandidats liste = (ListeCandidats) malloc(*nbCandidats*sizeof(Candidat*)); if(liste == NULL) { perror("malloc"); @@ -272,7 +274,7 @@ void test2(void) { printf("Moyenne en spécialité : "); scanf("%f", &candidat->moyenneSpecialite); - ajouterCandidat(liste, &nbCandidats, candidat); + ajouterCandidat(&liste, &nbCandidats, candidat); afficherListeCandidats(liste, nbCandidats);