get the correct value when rebuilding the tree
This commit is contained in:
parent
6c166c7479
commit
b33e0e0519
1 changed files with 3 additions and 1 deletions
4
arbre.c
4
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
|
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++) {
|
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
|
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
|
if (curseur->droite == NULL) curseur->droite = allouerCellule('\0'); // on remplace NULL par le caractère correspondant
|
||||||
curseur = curseur->droite;
|
curseur = curseur->droite;
|
||||||
} else { // gauche
|
} else { // gauche
|
||||||
|
|
Reference in a new issue