handle malloc error in arbreVersListe
This commit is contained in:
parent
e4ea650805
commit
fb311794f3
1 changed files with 6 additions and 2 deletions
8
arbre.c
8
arbre.c
|
@ -6,7 +6,7 @@ void convertisseurListeEnArbre(Liste *liste) {
|
|||
if (curseur->suivant != NULL) { // on créer un mini-arbre qu'on colle au reste de l'arbre seulement si le suivant existe
|
||||
Cellule *nouvelleCellule;
|
||||
if ((nouvelleCellule = (Cellule*)malloc(sizeof(Cellule))) == NULL) { // on alloue de la mémoire pour notre nouvelle cellule (mini-racine)
|
||||
printf("Impossible d'allouer de la mémoire supplémentaire.\n"); // gestion de l'erreur
|
||||
printf("Impossible d'allouer de la mémoire supplémentaire (convertisseurListeEnArbre).\n"); // gestion de l'erreur
|
||||
exit(1);
|
||||
}
|
||||
/* TODO: TROUVER UN ENDROIT Où FREE CETTE NOUVELLE CELLULE A L'AVENIR */
|
||||
|
@ -47,7 +47,11 @@ void assignationCode(Arbre arbre, int codeActuel, int longueur, Lettre *lettresL
|
|||
}
|
||||
|
||||
Lettre * arbreVersListe(Arbre arbre, int taille, int *tailleTotale) {
|
||||
Lettre *lettres = (Lettre*)malloc(taille * sizeof(Lettre)); // on alloue la liste qui va contenir nos caractères
|
||||
Lettre *lettres;
|
||||
if ((lettres = (Lettre*)malloc(taille * sizeof(Lettre))) == NULL) { // on alloue la liste qui va contenir nos caractères
|
||||
printf("Impossible d'allouer de la mémoire supplémentaire (arbreVersListe).\n"); // gestion de l'erreur
|
||||
exit(1);
|
||||
}
|
||||
int i = 0; // initialisation de `i` au début car `assignationCode` est récursif
|
||||
assignationCode(arbre, '\0', 0, lettres, &i, tailleTotale); // on commence avec une racine nulle et une taille de 0
|
||||
free(arbre);
|
||||
|
|
Reference in a new issue