commit 6baac28c78853289d68d46dd623eebd971b87515
parent d9fa1eba8110f2d8046113741620ab8dc9095720
Auteur: Loïc Daignault-Pichette <loic@asteride.xyz>
Date: Tue, 14 Apr 2026 15:50:36 -0400
Inversere le sens du bit de poids faible
Diffstat:
3 fichiers modifiés, 6 insertions(+), 6 suppressions(-)
diff --git a/itfd.c b/itfd.c
@@ -113,7 +113,7 @@ segmenter(struct itfd *itfd, uint8_t *cc, size_t lngrcc, uint16_t *symbs)
nsymbs = 0;
while (cc < fin) {
- symb = (*cc << 1) | 0x01;
+ symb = (*cc << 1) | 0x00;
prch = cc + 1;
for (i = 0; cc < fin; cc++) {
@@ -124,8 +124,8 @@ segmenter(struct itfd *itfd, uint8_t *cc, size_t lngrcc, uint16_t *symbs)
/* Vérifier. */
if (orig & 0x01 || orig >> 0x01 != i) {
- cc = prch;
- break;
+ cc = prch;
+ break;
}
i = pi;
@@ -134,7 +134,7 @@ segmenter(struct itfd *itfd, uint8_t *cc, size_t lngrcc, uint16_t *symbs)
if (base & 0x01) {
i = base >> 1;
orig = segm[i][1];
- symb = (orig >> 1) << 1;
+ symb = ((orig >> 1) << 1) | 0x01;
prch = cc + 1;
}
}
diff --git a/itfd.h b/itfd.h
@@ -35,7 +35,7 @@ int itfd_fermer(struct itfd *itfd);
* Le tampon symbs doit être au moins aussi grand que lngrcc. Puisqu’un
* symbole compte pour au moins un caractère, il ne peut jamais y avoir plus de
* lngrcc symboles dans symbs. Aussi, les symboles contenus dans symbs ont un
- * drapeau dans leur bit de poids faible. S’il n’est pas brandi, il s’agit d’un
+ * drapeau dans leur bit de poids faible. S’il est brandi, il s’agit d’un
* symbole reconnu par le segmenteur et symbs[i] >> 1 donne le symbole; sinon,
* c’est qu’il en est absent et symbs[i] >> 1 donne le caractère non reconnu.
* Renvoie le nombre de symboles placés dans symbs. */
diff --git a/mishka.c b/mishka.c
@@ -29,7 +29,7 @@ main(int argc, char **argv)
nsymbs = segmenter(itfd, (uint8_t *)argv[1], lngr, symbs);
for (i = 0; i < nsymbs; i++) {
- if (symbs[i] & 0x01) {
+ if (!(symbs[i] & 0x01)) {
printf("*%c (%d)\n", symbs[i] >> 1, symbs[i] >> 1);
} else {
fwrite(itfd->symbs + 1 + (symbs[i] >> 1),