Quand je quitte le programme et que je relance, current conserve sa valeur de la précédente exécution lol.
Je suis obligé de réinitialiser ces 2 variables soit dans le __main soit dans une fonction d'init.
A croire que les affectations n'ont servi qu'à la toute première exécution...
Il me semble que c'est le comportement normal.
En effet, les variables globales et statiques sont stoquées directement à l'intérieur du programme et non sur la pile. Donc au moment de la compilation la valeur est bien 1 mais elle est modifié à chaque execution vu que ton programme est exécuté directement depuis la mémoire.
Si ton programme est archivé ça n'arrivera pas, vu qu'il est recopié en RAM avant exécution.