diff --git a/arbre.c b/arbre.c index ddc427d..5c60941 100644 --- a/arbre.c +++ b/arbre.c @@ -180,8 +180,10 @@ Arbre lectureDonnees(FILE *fichier, int *tailleTotale) { mask <<= entete[i].longueur - 1; // décalage vers la gauche de la longueur de la lettre - 1 for (int j = 0; j < entete[i].longueur; j++) { + int gaucheOuDroite = entete[i].code & mask; + entete[i].code <<= 1; // décalage de 1 vers la gauche pour éviter la segfault - if (entete[i].code & mask) { // droite + if (gaucheOuDroite) { // droite if (curseur->droite == NULL) curseur->droite = allouerCellule('\0'); // on remplace NULL par le caractère correspondant curseur = curseur->droite; } else { // gauche