From 872521380528c2d04413a1b039c90de1e19ee034 Mon Sep 17 00:00:00 2001 From: Alix JEUDI--LEMOINE Date: Wed, 4 Jan 2023 10:44:34 +0100 Subject: [PATCH] Correction seg fault --- src/I/un.c | 33 ++++++++++++++++++--------------- 1 file changed, 18 insertions(+), 15 deletions(-) diff --git a/src/I/un.c b/src/I/un.c index e2d4a27..7c0b083 100644 --- a/src/I/un.c +++ b/src/I/un.c @@ -402,7 +402,7 @@ void menuAdmin(VilleIUT*** tiutPointer, ListeCandidats* listePointer, int* nbVil if(i2 == -1) fprintf(stderr, "\n\e[1;91mErreur: la ville '%s' n'est pas dans la liste des IUT.\e[0m\n\n", searchIUT2); else { - VilleIUT* ville = *tiutPointer[i2]; + VilleIUT* ville = (*tiutPointer)[i2]; int nbP; char addDept[LEN_MAX], responsable[LEN_MAX]; @@ -412,20 +412,23 @@ void menuAdmin(VilleIUT*** tiutPointer, ListeCandidats* listePointer, int* nbVil ListeDept ldept = ville->ldept; - if(strcasecmp(ldept->departement, addDept) == 0) { - fprintf(stderr, "\n\e[1;91mErreur: le département '%s' existe déjà dans l'IUT '%s'.\e[0m\n\n", addDept, searchIUT2); - break; - } - - while(ldept->suiv != NULL) { - if(strcasecmp(ldept->suiv->departement, addDept) == 0) break; - ldept = ldept->suiv; - } - - if(ldept->suiv != NULL && strcasecmp(ldept->suiv->departement, addDept) == 0) { - fprintf(stderr, "\n\e[1;91mErreur: le département '%s' existe déjà dans l'IUT '%s'.\e[0m\n\n", addDept, searchIUT2); - break; + if(ldept != NULL) { + if(strcasecmp(ldept->departement, addDept) == 0) { + fprintf(stderr, "\n\e[1;91mErreur: le département '%s' existe déjà dans l'IUT '%s'.\e[0m\n\n", addDept, searchIUT2); + break; + } + + while(ldept->suiv != NULL) { + if(strcasecmp(ldept->suiv->departement, addDept) == 0) break; + ldept = ldept->suiv; + } + + if(ldept->suiv != NULL && strcasecmp(ldept->suiv->departement, addDept) == 0) { + fprintf(stderr, "\n\e[1;91mErreur: le département '%s' existe déjà dans l'IUT '%s'.\e[0m\n\n", addDept, searchIUT2); + break; + } } + printf("Entrez le nombre de place disponibles en 1ère année : "); scanf("%d", &nbP); @@ -690,7 +693,7 @@ int afficherListeDepartement(VilleIUT** tiut, int nbVilles, char* searchIUT) { printf("\n\e[4;37mDépartements disponibles dans la ville '%s' :\e[0m\n\n", tiut[i]->ville); while (ldept != NULL) { - printf(" - %s, \e[0;32m%d places disponibles\e[0m\n", ldept->departement, ldept->nbP); + printf(" - %s, \e[0;32m%d places disponibles\e[0m, Reponsable : %s\n", ldept->departement, ldept->nbP, ldept->responsable); ldept = ldept->suiv; }