commit 5d1207c89094b0c740ce0c9fc6285ce6a47b78b0
parent c8beb6a10af5403928380d99252c0acf8a1bc55f
Auteur: Loïc Daignault-Pichette <loic@asteride.xyz>
Date: Fri, 3 Apr 2026 18:16:08 -0400
Faire que tampinf_minim affecte nelem
Diffstat:
1 fichier modifié, 9 insertions(+), 1 suppression(-)
diff --git a/tampinf.c b/tampinf.c
@@ -87,11 +87,18 @@ tampinf_minim(void *ti, size_t i)
{
size_t nlngr; /* Nouvelle longueur. */
Entete *nent; /* Nouvelle entête. */
+ size_t nnelem; /* Nouveau nombre d’éléments. */
TAMPINF_COHERENT(ti);
- if (ENTETE(ti)->s.lngr > i)
+ nnelem = ENTETE(ti)->s.nelem;
+ if (nnelem < i + 1)
+ nnelem = i + 1;
+
+ if (ENTETE(ti)->s.lngr > i) {
+ ENTETE(ti)->s.nelem = nnelem;
return ti;
+ }
/* Doubler la longueur jusqu’à ce quelle soit supérieure ou égale à la
* longueur recherchée. */
@@ -105,6 +112,7 @@ tampinf_minim(void *ti, size_t i)
memset((char *)TAMPON(nent) + nent->s.lngr * nent->s.tll, 0,
(nlngr - nent->s.lngr) * nent->s.tll);
nent->s.lngr = nlngr;
+ nent->s.nelem = nnelem;
TAMPINF_COHERENT(TAMPON(nent));